Browser HTTP Request Smuggling
Reading time: 3 minutes
tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.
Browser-powered desync (також відомий як client-side request smuggling) використовує браузер жертви для додавання неправильно сформованого запиту в чергу на спільному з'єднанні, так що наступні запити обробляються асинхронно компонентом нижнього рівня. На відміну від класичного FE↔BE smuggling, корисні навантаження обмежені тим, що браузер може легально відправити між доменами.
Ключові обмеження та поради
- Використовуйте лише заголовки та синтаксис, які браузер може відправити через навігацію, fetch або відправку форм. Обфускації заголовків (LWS трюки, дублювання TE, недійсний CL) зазвичай не будуть відправлені.
- Орієнтуйтеся на кінцеві точки та проміжні елементи, які відображають введення або кешують відповіді. Корисні наслідки включають отруєння кешу, витік заголовків, інжектованих на фронт-енді, або обходження контролю шляхів/методів на фронт-енді.
- Повторне використання має значення: налаштуйте створений запит так, щоб він ділив те саме HTTP/1.1 або H2 з'єднання з запитом жертви високої цінності. Поведінка, що блокує з'єднання/стан, посилює вплив.
- Віддавайте перевагу примітивам, які не вимагають спеціальних заголовків: плутанина шляхів, ін'єкція рядка запиту та формування тіла через POST з кодуванням форм.
- Перевіряйте справжній серверний desync проти простих артефактів конвеєризації, повторно тестуючи без повторного використання або використовуючи перевірку вкладених відповідей HTTP/2.
Для технік від початку до кінця та PoC дивіться:
- 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
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.