Hello there, ('ω')ノ
プライベート バグ報奨金プログラムに対する Web キャッシュ詐欺攻撃を。
脆弱性:
Web キャッシュ詐欺
記事:
今回は、最もクールなバグの 1 つが複製されたという話を。
プログラムの範囲は非常に小さく、メイン Web サイト (www.target.tld) と
API サブドメイン (api.target.tld) のみが含まれ。
メインのウェブサイトで自分のプロフィール ページを見ていて、
ページを更新して Burp の履歴ページを確認したところ、プロフィール情報が
この API エンドポイントに表示されていることに気付き。
応答を確認し「Server-Timing: cdn-cache; desc=MISS」が目に留まり。
ここで、2 つの美しいバグをテストする必要があり。
・キャッシュポイズニング攻撃
・キャッシュ詐欺攻撃
文字通りすべてを試してみましたが、この Web サイトは
最初のバグに対して脆弱ではないようで。
そこで、2 つ目の脆弱性を取り上げ、URL の末尾に「.css」を追加して。
まだ自分の情報を見ることができたので、「Server-Timing」応答ヘッダを確認し。
キャッシュがヒットするように被害者に
https://www.target.tld/api/users/WHATEVER/current/full.css を送信し、
キャッシュの有効期限が切れる前に自分のブラウザでリンクを開いて、
被害者の情報を確認し。
残念だけどそれほど簡単ではなく、
キャッシュの有効期限が切れるのが早すぎて、情報を見ることができず。
この脆弱性を悪用するには、被害者に代わって複数のリクエストを
エンドポイントに送信する方法を見つける必要がありって。
シナリオ:
1.被害者がハッカーの Web サイトにアクセスして。
2.ハッカーの Web サイトは、キャッシュをポイズニングするために、
https://www.target.tld/api/users/WHATEVER/current/full.css
にいくつかのリクエストを送信して。
3.ハッカーがブラウザでリンクを開くと、被害者の情報が表示されて。
概念実証:
ハッカーの Web サイトで JS を使用して多数のリクエストを送信して。
Chrome ブラウザが被害者で、Firefox ブラウザがハッカーであることに注意して。
Best regards, (^^ゞ