HTTP Connection Request Smuggling

Support HackTricks

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

Ataki stanu połączenia

Walidacja pierwszego żądania

Podczas routingu żądań, serwery proxy mogą polegać na nagłówku Host, aby określić docelowy serwer zaplecza, często opierając się na białej liście hostów, którym zezwolono na dostęp. Jednak w niektórych proxy istnieje luka, w której biała lista jest egzekwowana tylko w przypadku początkowego żądania w połączeniu. W związku z tym, atakujący mogą to wykorzystać, 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]

First-request Routing

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

GET / HTTP/1.1
Host: example.com

POST /pwreset HTTP/1.1
Host: psres.net

To zagadnienie może być potencjalnie połączone z atakami na nagłówek Host, takimi jak złośliwe resetowanie hasła lub zatrucie pamięci podręcznej, aby wykorzystać inne luki lub uzyskać nieautoryzowany dostęp do dodatkowych wirtualnych hostów.

Aby zidentyfikować te luki, można wykorzystać funkcję 'connection-state probe' w HTTP Request Smuggler.

Wsparcie dla HackTricks

Last updated