Browser HTTP Request Smuggling
Tip
Ucz się i ćwicz AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Ucz się i ćwicz Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Przeglądaj pełny katalog HackTricks Training dla ścieżek assessment (ARTA/GRTA/AzRTA) oraz Linux Hacking Expert (LHE).
Wsparcie HackTricks
- Sprawdź plany subskrypcji!
- Dołącz do 💬 grupy Discord, grupy telegram, obserwuj @hacktricks_live na X/Twitter, albo sprawdź stronę LinkedIn i kanał YouTube.
- Dziel się hacking tricks, wysyłając PR do repozytoriów github HackTricks i HackTricks Cloud.
Browser-powered desync (aka client-side request smuggling) wykorzystuje przeglądarkę ofiary do dodania źle sformatowanego żądania do wspólnego połączenia, tak aby kolejne żądania były analizowane w sposób niesynchronizowany przez komponent downstream. W przeciwieństwie do klasycznego smugglingu FE↔BE, ładunki są ograniczone przez to, co przeglądarka może legalnie wysłać między różnymi źródłami.
Kluczowe ograniczenia i wskazówki
- Używaj tylko nagłówków i składni, które przeglądarka może wysłać za pomocą nawigacji, fetch lub przesyłania formularzy. Obfuskacje nagłówków (triki LWS, duplikaty TE, nieprawidłowy CL) zazwyczaj nie będą wysyłane.
- Celuj w punkty końcowe i pośredników, którzy odzwierciedlają dane wejściowe lub buforują odpowiedzi. Przydatne skutki obejmują zanieczyszczenie pamięci podręcznej, wyciek nagłówków wstrzykiwanych przez front-end lub obejście kontroli ścieżki/metody front-end.
- Powtórne użycie ma znaczenie: dostosuj skonstruowane żądanie, aby dzieliło to samo połączenie HTTP/1.1 lub H2 z żądaniem ofiary o wysokiej wartości. Zachowania zablokowane na połączeniu/stanu wzmacniają wpływ.
- Preferuj prymitywy, które nie wymagają niestandardowych nagłówków: mylenie ścieżek, wstrzykiwanie ciągu zapytania i kształtowanie ciała za pomocą POST-ów zakodowanych w formularzu.
- Waliduj prawdziwe desynchronizacje po stronie serwera w porównaniu do jedynie artefaktów pipeliningu, ponownie testując bez ponownego użycia lub używając sprawdzenia zagnieżdżonej odpowiedzi HTTP/2.
Dla technik end-to-end i PoC zobacz:
- 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
Ucz się i ćwicz AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Ucz się i ćwicz Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Przeglądaj pełny katalog HackTricks Training dla ścieżek assessment (ARTA/GRTA/AzRTA) oraz Linux Hacking Expert (LHE).
Wsparcie HackTricks
- Sprawdź plany subskrypcji!
- Dołącz do 💬 grupy Discord, grupy telegram, obserwuj @hacktricks_live na X/Twitter, albo sprawdź stronę LinkedIn i kanał YouTube.
- Dziel się hacking tricks, wysyłając PR do repozytoriów github HackTricks i HackTricks Cloud.


