6.4 KiB
HTTP Response Smuggling / Desync
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- Travaillez-vous dans une entreprise de cybersécurité ? Voulez-vous voir votre entreprise annoncée dans HackTricks ? ou voulez-vous avoir accès à la dernière version de PEASS ou télécharger HackTricks en PDF ? Consultez les PLANS D'ABONNEMENT!
- Découvrez The PEASS Family, notre collection exclusive de NFTs
- Obtenez le swag officiel PEASS & HackTricks
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez moi sur Twitter 🐦@carlospolopm.
- Partagez vos astuces de piratage en soumettant des PR au repo hacktricks et au repo hacktricks-cloud.
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
- N'oubliez pas de regarder cette vidéo qui explique très bien toutes ces techniques: https://www.youtube.com/watch?v=suxDcYViwao&t=1343s
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- Travaillez-vous dans une entreprise de cybersécurité? Voulez-vous voir votre entreprise annoncée dans HackTricks? ou voulez-vous avoir accès à la dernière version de PEASS ou télécharger HackTricks en PDF? Consultez les PLANS D'ABONNEMENT!
- Découvrez The PEASS Family, notre collection exclusive de NFTs
- Obtenez le swag officiel PEASS & HackTricks
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez moi sur Twitter 🐦@carlospolopm.
- Partagez vos astuces de piratage en soumettant des PR au repo hacktricks et au repo hacktricks-cloud.