<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Expert en équipe rouge AWS de HackTricks)</strong></a><strong>!</strong></summary>
* Travaillez-vous dans une **entreprise de cybersécurité**? Vous voulez voir votre **entreprise annoncée dans HackTricks**? ou voulez-vous avoir accès à la **dernière version du PEASS ou télécharger HackTricks en PDF**? Consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)!
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFT**](https://opensea.io/collection/the-peass-family)
* **Rejoignez le** [**💬**](https://emojipedia.org/speech-balloon/) [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez** moi sur **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Partagez vos astuces de piratage en soumettant des PR au [dépôt hacktricks](https://github.com/carlospolop/hacktricks) et au [dépôt hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
**Il s'agit d'un résumé de l'article [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ées 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ées à être transmises. Les en-têtes hop-by-hop standard incluent `Keep-Alive`, `Transfer-Encoding`, `TE`, `Connection`, `Trailer`, `Upgrade`, `Proxy-Authorization` et `Proxy-Authenticate`, tels que définis 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é. Alors que les proxies sont censés supprimer ces en-têtes, tous ne le font pas, créant 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 éventuellement des mauvaises configurations ou des comportements de proxy.
L'abus des en-têtes hop-by-hop peut entraîner diverses implications en matière de sécurité. Voici quelques exemples démontrant comment ces en-têtes peuvent être manipulés pour des attaques potentielles:
### Contournement des contrôles de sécurité avec `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 transmet sans validation appropriée, un attaquant peut usurper son adresse IP.
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é transmet la requête à l'application web sans l'en-tête `X-Forwarded-For` falsifié.
4. L'application web, ne voyant pas l'en-tête `X-Forwarded-For` d'origine, pourrait considérer la requête comme provenant directement d'un proxy de confiance, permettant potentiellement un accès non autorisé.
Si un serveur de cache met en cache incorrectement 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 doit 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, adaptée à l'attaquant, ce qui pourrait entraîner un détournement de session ou une exposition d'informations sensibles.