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.
Questo è un riepilogo del post https://nathandavison.com/blog/abusing-http-hop-by-hop-request-headers
Gli hop-by-hop headers sono specifici per una singola connessione a livello di trasporto, utilizzati principalmente in HTTP/1.1 per gestire i dati tra due nodi (come client-proxy o proxy-proxy), e non sono destinati ad essere inoltrati. Gli hop-by-hop headers standard includono Keep-Alive
, Transfer-Encoding
, TE
, Connection
, Trailer
, Upgrade
, Proxy-Authorization
e Proxy-Authenticate
, come definito in RFC 2616. Ulteriori intestazioni possono essere designate come hop-by-hop tramite l'intestazione Connection
.
Abusing Hop-by-Hop Headers
Una gestione impropria degli hop-by-hop headers da parte dei proxy può portare a problemi di sicurezza. Sebbene ci si aspetti che i proxy rimuovano queste intestazioni, non tutti lo fanno, creando potenziali vulnerabilità.
Testing for Hop-by-Hop Header Handling
La gestione degli hop-by-hop headers può essere testata osservando i cambiamenti nelle risposte del server quando specifiche intestazioni sono contrassegnate come hop-by-hop. Strumenti e script possono automatizzare questo processo, identificando come i proxy gestiscono queste intestazioni e potenzialmente scoprendo configurazioni errate o comportamenti dei proxy.
Abusare degli hop-by-hop headers può portare a varie implicazioni di sicurezza. Di seguito sono riportati un paio di esempi che dimostrano come queste intestazioni possano essere manipolate per potenziali attacchi:
Bypassing Security Controls with X-Forwarded-For
Un attaccante può manipolare l'intestazione X-Forwarded-For
per bypassare i controlli di accesso basati su IP. Questa intestazione è spesso utilizzata dai proxy per tracciare l'indirizzo IP di origine di un client. Tuttavia, se un proxy tratta questa intestazione come hop-by-hop e la inoltra senza una corretta validazione, un attaccante può falsificare il proprio indirizzo IP.
Scenario di attacco:
- L'attaccante invia una richiesta HTTP a un'applicazione web dietro un proxy, includendo un indirizzo IP falso nell'intestazione
X-Forwarded-For
. - L'attaccante include anche l'intestazione
Connection: close, X-Forwarded-For
, spingendo il proxy a trattareX-Forwarded-For
come hop-by-hop. - Il proxy mal configurato inoltra la richiesta all'applicazione web senza l'intestazione
X-Forwarded-For
falsificata. - L'applicazione web, non vedendo l'intestazione originale
X-Forwarded-For
, potrebbe considerare la richiesta come proveniente direttamente da un proxy fidato, consentendo potenzialmente accessi non autorizzati.
Cache Poisoning via Hop-by-Hop Header Injection
Se un server di cache memorizza erroneamente contenuti basati su hop-by-hop headers, un attaccante potrebbe iniettare intestazioni dannose per avvelenare la cache. Questo servirebbe contenuti errati o dannosi agli utenti che richiedono la stessa risorsa.
Scenario di attacco:
- Un attaccante invia una richiesta a un'applicazione web con un'intestazione hop-by-hop che non dovrebbe essere memorizzata nella cache (ad esempio,
Connection: close, Cookie
). - Il server di cache mal configurato non rimuove l'intestazione hop-by-hop e memorizza la risposta specifica per la sessione dell'attaccante.
- Gli utenti futuri che richiedono la stessa risorsa ricevono la risposta memorizzata nella cache, che era personalizzata per l'attaccante, portando potenzialmente a un furto di sessione o all'esposizione di informazioni sensibili.
{% 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.