# HTTP Connection Request Smuggling {{#include ../banners/hacktricks-training.md}} **Це резюме посту** [**https://portswigger.net/research/browser-powered-desync-attacks**](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](https://portswigger.net/web-security/host-header), такими як отруєння скидання пароля або [отруєння веб-кешу](https://portswigger.net/web-security/web-cache-poisoning), щоб експлуатувати інші вразливості або отримати несанкціонований доступ до додаткових віртуальних хостів. > [!NOTE] > Для виявлення цих вразливостей можна використовувати функцію 'connection-state probe' у HTTP Request Smuggler. {{#include ../banners/hacktricks-training.md}}