HTTP Connection Request Smuggling

Unterstützen Sie HackTricks

Dies ist eine Zusammenfassung des Beitrags https://portswigger.net/research/browser-powered-desync-attacks

Connection State Attacks

First-request Validation

Beim Routen von Anfragen könnten Reverse-Proxys von der Host-Header abhängen, um den Ziel-Backend-Server zu bestimmen, wobei oft auf eine Whitelist von Hosts zurückgegriffen wird, die den Zugriff erlauben. Es besteht jedoch eine Schwachstelle in einigen Proxys, bei der die Whitelist nur bei der ersten Anfrage in einer Verbindung durchgesetzt wird. Folglich könnten Angreifer dies ausnutzen, indem sie zuerst eine Anfrage an einen erlaubten Host stellen und dann über dieselbe Verbindung auf eine interne Seite zugreifen:

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

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

First-request Routing

In einigen Konfigurationen kann ein Front-End-Server den Host-Header der ersten Anfrage verwenden, um das Back-End-Routing für diese Anfrage zu bestimmen, und dann alle nachfolgenden Anfragen von derselben Client-Verbindung persistent an dieselbe Back-End-Verbindung weiterleiten. Dies kann wie folgt demonstriert werden:

GET / HTTP/1.1
Host: example.com

POST /pwreset HTTP/1.1
Host: psres.net

Dieses Problem kann potenziell mit Host-Header-Angriffen kombiniert werden, wie z.B. Passwortzurücksetzungsvergiftung oder Web-Cache-Vergiftung, um andere Schwachstellen auszunutzen oder unbefugten Zugriff auf zusätzliche virtuelle Hosts zu erlangen.

Um diese Schwachstellen zu identifizieren, kann die Funktion 'connection-state probe' im HTTP Request Smuggler genutzt werden.

Support HackTricks

Last updated