「Finding My First Bug: HTTP Request Smuggling」からHTTP Request Smugglingを学ぶ

ソース:

https://infosecwriteups.com/finding-my-first-bug-http-request-smuggling-5fdc89581fe2

 

脆弱性:HTTP Request Smuggling

 

訳:

偵察中に、考えられるすべてのサブドメインを見つけて、それらに 1 つずつアクセスし始め、脆弱なサブドメインでは Web サーバーのバージョンとともに 403 Forbidden エラーが発生し。

 

次に、Burpsuite のパッシブ スキャナーをチェックしてバージョン番号を取得し、このバージョンに脆弱性がある可能性があることを報告し。

 

この Web サイトは、Nginx を拡張する古いバージョンの Web サーバーを使用していて。この古いバージョンの Web サーバーにより、Web サイトはこの非同期攻撃を許可してして。

 

HTTP Request Smugglingとは?

私が理解しているように、HRSは、攻撃者がサーバーの同期を解除する可能性のあるあいまいなリクエストを送信し、ソケットを有害な応答で汚染されたバックエンドに残すことができるこの脆弱性で。この応答は次の訪問者に提供され。

 

どのように攻撃を?

このドメインでは、Content-Length ヘッダーと Transfer-Encoding ヘッダーを含むリクエストを送信すると非同期が発生し。フロントエンド サーバーは Content-Length ヘッダーを使用し、バックエンド サーバーは Transfer-Encoding ヘッダーを使用し。
これにより、 HTTP Request Smuggling を実行し。

 

POST /i HTTP/1.1 
Host: ...
Connection: keep-alive
...
Content-Length: 55
Transfer-Encoding: chunked
0 GET /publicDocs/ HTTP/1.1
Host: ...
foo: x

 

どんな影響が?

この手法を使用すると、攻撃者はフロントエンド システムのルールをバイパスできるため、プライベートであるはずの内部コンテンツにアクセスできる可能性もあり。

そこで、スタッフ専用のログイン ページと、通常は 403 エラーが発生する他のいくつかのドキュメントを見つけましたが、この手法を使用するとステータスコード 200 が返され。

 

ほなほな。