Learn & practice AWS Hacking:<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">\
Learn & practice GCP Hacking: <imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
* 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.
**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`.
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.
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.
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.
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`).
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:<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">\
Learn & practice GCP Hacking: <imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* 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.