Hello there, ('ω')ノ
重大なWebキャッシュポイズニングを見つけるを。
脆弱性:
Webキャッシュポイズニング
記事:
https://infosecwriteups.com/finding-my-first-critical-web-cache-poisoning-6f956799371c
ターゲットをredacted.comと呼ぶことに。
まず、Webキャッシュポイズニングは。
攻撃者がWebサーバとキャッシュのアクションを利用して。
悪意のあるHTTP応答を他のユーザに提供する高度な手法で。
下記がWebキャッシュデモで。
Webキャッシュポイズニングには、2つのステップがあって。
まず、攻撃者は、バックエンドサーバから。
潜在的に危険なペイロード応答を取得する方法を理解する必要があって。
それらの応答をキャッシュし、それらが成功した後に。
意図された犠牲者にそれを提供しなければならなくて。
感染したWebキャッシュには。
XSS、DOS、JavaScriptインジェクション、オープンリダイレクトなどを含む。
一連の攻撃を広める破壊的な手段となる可能性があって。
Webキャッシュポイズニングの検証:
HTTPヘッダ領域に多くのヘッダを詰め込むことを。
可能にする弱いサービスコードを見つけて。
キャッシュサーバは、サーバにキャッシュさせたい実際のキャッシュ情報を。
強制的にフラッシュして。
特別に構築されたリクエストをサーバに送信するとサーバにキャッシュされて。
次のリクエストが送信されると。
このリクエストへの応答は、キャッシュに保存されている以前に。
挿入されたコンテンツになって。
キャッシュに使用できるヘッダ:
X-Forwarded-Host: your-hackers-site.com
X-Host: your-hackers-site.com
Forwarded-Server: your-hackers-site.com
まずは、ParamMinerで非表示のリンクされていないパラメータを識別して。
これは、Webキャッシュポイズニングの脆弱性を見つけるのに特に役立って。
これを使用するには、Burpでリクエストを右クリックして。
Burp Suite Proを使用している場合は。
特定されたパラメータはスキャナの問題として報告されて。
そうでない場合は、右クリックで下記の手順で。
脆弱性の有無を確認するために使用することに。
ParamMinerによって生成された問題は、下記のとおりで。
秘密のキャッシュされていない入力を特定することができて。
これを使用して脆弱性が存在するかどうかを確認すると。
ポイズニングがプロファイルセクションで発生していることがわかって。
このセクションでは、サーバを使用して応答を取得することで。
要求を簡単にキャッシュできて。
ここでは、Burp Collaboratorを使用することに。
または、Project Discovery Teamのinteractshで取得することもできて。
ユーザがキャッシュされたセクションを参照して。
成功した場合、Session、Cookie、PIIなどの重要な情報を取得できて。
https://github.com/projectdiscovery/interactsh
影響:
特別に細工された応答が、複数のユーザが使用するWebキャッシュ。
または1人のユーザーブラウザキャッシュによってキャッシュされる場合。
応答の影響が大きくなる可能性があって。
プロキシサーバにあるような共有サイトキャッシュに回答が保存されていない限り。
そのキャッシュのすべてのユーザは。
キャッシュエントリが削除される直前に悪意のあるコンテンツを受け取って。
StoredXSSを超えてエスカレートすることは可能かと。
Best regards, (^^ゞ