# hop-by-hop headers {% hint style="success" %} Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Support HackTricks * Check the [**subscription plans**](https://github.com/sponsors/carlospolop)! * **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐩 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
{% endhint %} **Ceci est un rĂ©sumĂ© du post [https://nathandavison.com/blog/abusing-http-hop-by-hop-request-headers](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](https://tools.ietf.org/html/rfc2616#section-13.5.1). 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 :** 1. 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`. 2. L'attaquant inclut Ă©galement l'en-tĂȘte `Connection: close, X-Forwarded-For`, incitant le proxy Ă  traiter `X-Forwarded-For` comme hop-by-hop. 3. Le proxy mal configurĂ© transfĂšre la requĂȘte Ă  l'application web sans l'en-tĂȘte `X-Forwarded-For` usurpĂ©. 4. 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 :** 1. 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`). 2. 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. 3. 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)**](https://training.hacktricks.xyz/courses/arte)\ Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Support HackTricks * Check the [**subscription plans**](https://github.com/sponsors/carlospolop)! * **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐩 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
{% endhint %}