Browser HTTP Request Smuggling
Reading time: 3 minutes
tip
Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos github.
Il desync alimentato dal browser (noto anche come client-side request smuggling) sfrutta il browser della vittima per accodare una richiesta malformata su una connessione condivisa in modo che le richieste successive vengano analizzate in modo non sincronizzato da un componente a valle. A differenza dello smuggling classico FE↔BE, i payload sono limitati da ciò che un browser può legalmente inviare cross-origin.
Key constraints and tips
- Utilizzare solo intestazioni e sintassi che un browser può emettere tramite navigazione, fetch o invio di moduli. Le offuscazioni delle intestazioni (trucchi LWS, TE duplicati, CL non validi) generalmente non verranno inviate.
- Target endpoints and intermediaries that reflect inputs or cache responses. Gli impatti utili includono il poisoning della cache, la fuga di intestazioni iniettate nel front-end o il bypass dei controlli di percorso/metodo del front-end.
- Reuse matters: allineare la richiesta creata in modo che condivida la stessa connessione HTTP/1.1 o H2 di una richiesta di vittima ad alto valore. I comportamenti bloccati dalla connessione/statali amplificano l'impatto.
- Preferire primitive che non richiedono intestazioni personalizzate: confusione del percorso, iniezione di query-string e modellamento del corpo tramite POST codificati in modulo.
- Validare il vero desync lato server rispetto ai semplici artefatti di pipelining ripetendo il test senza riutilizzo o utilizzando il controllo della risposta annidata HTTP/2.
For end-to-end techniques and PoCs see:
- PortSwigger Research – Browser‑Powered Desync Attacks: https://portswigger.net/research/browser-powered-desync-attacks
- PortSwigger Academy – client‑side desync: https://portswigger.net/web-security/request-smuggling/browser/client-side-desync
References
- https://portswigger.net/research/browser-powered-desync-attacks
- https://portswigger.net/web-security/request-smuggling/browser/client-side-desync
- Distinguishing pipelining vs smuggling (background on reuse false-positives): https://portswigger.net/research/how-to-distinguish-http-pipelining-from-request-smuggling
tip
Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos github.