hacktricks/pentesting-web/http-connection-request-smuggling.md

4.4 KiB

HTTP Connection Request Smuggling

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

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

Ataki na Stan Połączenia

Walidacja Pierwszego Żądania

Podczas przekierowywania żądań, serwery proxy odwrotne 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ą zezwolenie na dostęp. Jednak istnieje podatność w niektórych serwerach proxy, gdzie biała lista jest egzekwowana tylko podczas początkowego żądania w połączeniu. W rezultacie atakujący mogą wykorzystać to, najpierw wysyłając żądanie do zezwolonego hosta, a następnie żądając strony wewnętrznej przez to samo połączenie:

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

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

Pierwsze żądanie routingu

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

GET / HTTP/1.1
Host: example.com

POST /pwreset HTTP/1.1
Host: psres.net

To potencjalnie może być połączone z atakiem na nagłówek Hosta, takim jak zatrucie resetowania hasła lub zatrucie pamięci podręcznej sieciowej, 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ę 'connection-state probe' w HTTP Request Smuggler. {% endhint %}

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