# 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 %}