hacktricks/pentesting-web/http-connection-request-smuggling.md
2024-02-11 01:46:25 +00:00

4.5 KiB

HTTP Connection Request Smuggling

Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

To jest streszczenie postu https://portswigger.net/research/browser-powered-desync-attacks

Ataki na stan połączenia

Walidacja pierwszego żądania

Podczas przekierowywania żądań, odwrotne serwery proxy mogą polegać na nagłówku Host, aby określić docelowy serwer backendowy, często polegając na białej liście hostów, które mają uprawniony dostęp. Jednak istnieje podatność w niektórych serwerach proxy, gdzie biała lista jest stosowana tylko dla początkowego żądania w połączeniu. W rezultacie atakujący mogą wykorzystać to, najpierw wysyłając żądanie do dozwolonego hosta, a następnie żądając dostępu do wewnętrznej strony przez to samo połączenie:

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

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

Ta podatność na szczęście nie jest powszechna.

Pierwsze żądanie routingu

W niektórych konfiguracjach serwer front-endowy może używać nagłówka Host pierwszego żądania do określenia routingu do serwera back-endowego dla tego żądania, a następnie trwale kierować wszystkie kolejne żądania z tego samego połączenia klienta do tego samego połączenia back-endowego. Można to zademonstrować jako:

GET / HTTP/1.1
Host: example.com

POST /pwreset HTTP/1.1
Host: psres.net

Ten problem może potencjalnie zostać połączony z atakami na nagłówek Host, takimi jak zatrucie resetem hasła lub zatrucie pamięci podręcznej sieci Web, aby wykorzystać inne podatności lub uzyskać nieautoryzowany dostęp do dodatkowych wirtualnych hostów.

{% hint style="info" %} Aby zidentyfikować te podatności, można wykorzystać funkcję "sonda stanu połączenia" w narzędziu HTTP Request Smuggler. {% endhint %}

Dowiedz się, jak hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!