5.8 KiB
hop-by-hop headers
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.
Ceci est un résumé du post https://nathandavison.com/blog/abusing-http-hop-by-hop-request-headers
Les en-têtes hop-by-hop sont spécifiques à une seule connexion de niveau transport, utilisés principalement dans HTTP/1.1 pour gérer les données entre deux nœuds (comme client-proxy ou proxy-proxy), et ne sont pas destinés à être transférés. Les en-têtes hop-by-hop standard incluent Keep-Alive
, Transfer-Encoding
, TE
, Connection
, Trailer
, Upgrade
, Proxy-Authorization
, et Proxy-Authenticate
, comme défini dans RFC 2616. Des en-têtes supplémentaires peuvent être désignés comme hop-by-hop via l'en-tête Connection
.
Abusing Hop-by-Hop Headers
Une gestion incorrecte des en-têtes hop-by-hop par les proxies peut entraîner des problèmes de sécurité. Bien que les proxies soient censés supprimer ces en-têtes, tous ne le font pas, créant ainsi des vulnérabilités potentielles.
Testing for Hop-by-Hop Header Handling
La gestion des en-têtes hop-by-hop peut être testée en observant les changements dans les réponses du serveur lorsque des en-têtes spécifiques sont marqués comme hop-by-hop. Des outils et des scripts peuvent automatiser ce processus, identifiant comment les proxies gèrent ces en-têtes et découvrant potentiellement des erreurs de configuration ou des comportements de proxy.
L'abus des en-têtes hop-by-hop peut entraîner diverses implications de sécurité. Voici quelques exemples démontrant comment ces en-têtes peuvent être manipulés pour des attaques potentielles :
Bypassing Security Controls with X-Forwarded-For
Un attaquant peut manipuler l'en-tête X-Forwarded-For
pour contourner les contrôles d'accès basés sur l'IP. Cet en-tête est souvent utilisé par les proxies pour suivre l'adresse IP d'origine d'un client. Cependant, si un proxy traite cet en-tête comme hop-by-hop et le transfère sans validation appropriée, un attaquant peut usurper son adresse IP.
Scénario d'attaque :
- L'attaquant envoie une requête HTTP à une application web derrière un proxy, incluant une fausse adresse IP dans l'en-tête
X-Forwarded-For
. - L'attaquant inclut également l'en-tête
Connection: close, X-Forwarded-For
, incitant le proxy à traiterX-Forwarded-For
comme hop-by-hop. - Le proxy mal configuré transfère la requête à l'application web sans l'en-tête
X-Forwarded-For
usurpé. - L'application web, ne voyant pas l'en-tête
X-Forwarded-For
d'origine, pourrait considérer la requête comme venant directement d'un proxy de confiance, permettant potentiellement un accès non autorisé.
Cache Poisoning via Hop-by-Hop Header Injection
Si un serveur de cache met incorrectement en cache du contenu basé sur des en-têtes hop-by-hop, un attaquant pourrait injecter des en-têtes malveillants pour empoisonner le cache. Cela servirait un contenu incorrect ou malveillant aux utilisateurs demandant la même ressource.
Scénario d'attaque :
- Un attaquant envoie une requête à une application web avec un en-tête hop-by-hop qui ne devrait pas être mis en cache (par exemple,
Connection: close, Cookie
). - Le serveur de cache mal configuré ne supprime pas l'en-tête hop-by-hop et met en cache la réponse spécifique à la session de l'attaquant.
- Les futurs utilisateurs demandant la même ressource reçoivent la réponse mise en cache, qui était adaptée pour l'attaquant, ce qui pourrait entraîner un détournement de session ou une exposition d'informations sensibles.
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.