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

5.1 KiB
Raw Blame History

HTTP接続リクエストスムグリング

ゼロからヒーローまでAWSハッキングを学ぶ htARTEHackTricks AWS Red Team Expert

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

接続状態攻撃

最初のリクエスト検証

リバースプロキシがリクエストをルーティングする際、Hostヘッダーに依存して、許可されたアクセスを許可されたホストのホワイトリストに基づいて決定することがあります。ただし、一部のプロキシには、ホワイトリストが接続の最初のリクエストでのみ強制される脆弱性が存在します。そのため、攻撃者は最初に許可されたホストにリクエストを送信し、その後同じ接続を介して内部サイトにリクエストすることでこれを悪用できます。

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

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

この脆弱性は幸いにも広くはないです。

最初のリクエストのルーティング

一部の構成では、フロントエンドサーバーは最初のリクエストのHostヘッダーを使用して、そのリクエストのバックエンドルーティングを決定し、その後同じクライアント接続からのすべての後続リクエストを同じバックエンド接続に永続的にルーティングします。これは次のように示すことができます:

GET / HTTP/1.1
Host: example.com

POST /pwreset HTTP/1.1
Host: psres.net

この問題は、Hostヘッダー攻撃(パスワードリセットポイズニングやwebキャッシュポイズニングなど)と組み合わせて、他の脆弱性を悪用したり、追加の仮想ホストへの不正アクセスを得るために利用される可能性があります。

{% hint style="info" %} これらの脆弱性を特定するために、HTTPリクエストスマグラーの 'connection-state probe' 機能を利用できます。 {% endhint %}

ゼロからヒーローまでAWSハッキングを学ぶ htARTEHackTricks AWS Red Team Expert