HTTP Connection Request Smuggling

Support HackTricks

Це резюме посту https://portswigger.net/research/browser-powered-desync-attacks

Атаки на стан з'єднання

Валідація першого запиту

При маршрутизації запитів зворотні проксі можуть покладатися на заголовок Host, щоб визначити сервер призначення, часто спираючись на білий список хостів, яким дозволено доступ. Однак у деяких проксі існує вразливість, де білий список застосовується лише до початкового запиту в з'єднанні. Внаслідок цього зловмисники можуть скористатися цим, спочатку зробивши запит до дозволеного хоста, а потім запитуючи внутрішній сайт через те ж з'єднання:

GET / HTTP/1.1
Host: [allowed-external-host]

GET / HTTP/1.1
Host: [internal-host]

First-request Routing

В деяких конфігураціях, фронтальний сервер може використовувати заголовок Host першого запиту для визначення маршрутизації на бекенді для цього запиту, а потім постійно маршрутизувати всі наступні запити з того ж клієнтського з'єднання до того ж бекенд-з'єднання. Це можна продемонструвати так:

GET / HTTP/1.1
Host: example.com

POST /pwreset HTTP/1.1
Host: psres.net

Цю проблему можна потенційно поєднати з атаками заголовка Host, такими як отруєння скидання пароля або отруєння веб-кешу, щоб експлуатувати інші вразливості або отримати несанкціонований доступ до додаткових віртуальних хостів.

Щоб виявити ці вразливості, можна використовувати функцію 'connection-state probe' в HTTP Request Smuggler.

Підтримати HackTricks

Last updated