hacktricks/pentesting-web/http-response-smuggling-desync.md
2023-06-03 13:10:46 +00:00

6.4 KiB

HTTP Response Smuggling / Desync

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

Désynchronisation de la file d'attente de requêtes HTTP

Tout d'abord, cette technique exploite une vulnérabilité de Smuggling de requêtes HTTP, vous devez donc savoir ce que c'est :

La principale différence entre cette technique et un Smuggling de requêtes HTTP commun est que au lieu d'attaquer la requête de la victime en y ajoutant un préfixe, nous allons fuir ou modifier la réponse que la victime reçoit. Cela se fait en envoyant non pas 1 requête et demi pour exploiter le Smuggling de requêtes HTTP, mais en envoyant 2 requêtes complètes pour désynchroniser la file d'attente des réponses des proxies.

Cela est dû au fait que nous allons être en mesure de désynchroniser la file d'attente de réponse afin que la réponse de la requête légitime de la victime soit envoyée à l'attaquant, ou en injectant un contenu contrôlé par l'attaquant dans la réponse à la victime.

Désynchronisation de la file d'attente de pipeline HTTP

HTTP/1.1 permet de demander différentes ressources sans avoir besoin d'attendre les précédentes. Par conséquent, s'il y a un proxy au milieu, c'est le rôle des proxies de maintenir une correspondance synchronisée des requêtes envoyées au backend et des réponses qui en proviennent.

Cependant, il y a un problème de désynchronisation de la file d'attente des réponses. Si un attaquant envoie une attaque de Smuggling de réponse HTTP et que les réponses à la requête initiale et à celle contrebandée sont répondues immédiatement, la réponse contrebandée ne sera pas insérée dans la file d'attente de la réponse de la victime, mais sera simplement rejetée comme une erreur.

Par conséquent, il est nécessaire que la requête contrebandée prenne plus de temps à être traitée à l'intérieur du serveur back-end. Par conséquent, au moment où la requête contrebandée est traitée, la communication avec l'attaquant sera terminée.

Si dans cette situation spécifique une victime a envoyé une requête et que la requête contrebandée est répondue avant la requête légitime, la réponse contrebandée sera envoyée à la victime. Par conséquent, l'attaquant contrôlera la requête "effectuée" par la victime.

De plus, si l'attaquant effectue ensuite une requête et que la réponse légitime à la requête de la victime est répondue avant la requête de l'attaquant. La réponse à la victime sera envoyée à l'attaquant, volant la réponse à la victime (qui peut contenir par exemple l'en-tête Set-Cookie).

Multiples injections imbriquées

Une autre différence intéressante avec le Smuggling de requêtes HTTP commun est que, dans une attaque de contrebande de réponse HTTP commune, l'objectif est de modifier le début de la requête de la victime

Références

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥