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

4.4 KiB
Raw Permalink Blame History

HTTP Connection Request Smuggling

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}

この記事の要約は https://portswigger.net/research/browser-powered-desync-attacks です

Connection State Attacks

First-request Validation

リクエストをルーティングする際、リバースプロキシは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 header attacks(パスワードリセットポイズニングやweb cache poisoningなど)と組み合わせることができます。

{% hint style="info" %} これらの脆弱性を特定するために、HTTP Request Smugglerの「connection-state probe」機能を利用できます。 {% endhint %}

{% hint style="success" %} AWSハッキングを学び、実践するHackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践するHackTricks Training GCP Red Team Expert (GRTE)

HackTricksをサポートする
{% endhint %}