Shikata Ga Nai

Private? There is no such things.

Web Cache DeceptionのテストにおけるCache Busterの活用法

Hello there, ('ω')ノ

✅ なぜCache Busterが必要なのか?

Web Cache DeceptionやCache Poisoningをテストするとき:

キャッシュに保存された既存のレスポンスが影響して、テスト結果が正確でなくなるリスクがあります。


❌ 問題の例

  • あなたがURL /account.css にアクセスした際、
  • 既に誰かのレスポンスがキャッシュされていた場合
  • あなたのリクエストには本来のサーバーの挙動が反映されず、
  • 「本当にこのURLが脆弱なのか」わからなくなってしまいます

🔄 Cache Busterとは?

毎回異なるURL(=キャッシュキー)を生成することで、常にキャッシュミスを強制する方法です。


🛠️ Burp SuiteでのCache Busterの使い方

① Param Miner拡張をインストール

  • Burp Suiteの「Extender」→「BApp Store」でParam Minerをインストール

② Cache Busterを有効化

  • メニュー:Param Miner > Settings > Add dynamic cachebuster を選択
  • これにより、Burpがすべてのリクエストに**動的なクエリ文字列(例:?cb=xyz123)**を自動付加

③ Loggerで確認

  • Burpの「Logger」タブで、付加されたクエリパラメータ(例:cb=abcde123)を確認可能
  • 毎回異なるURLになるため、キャッシュの影響を排除

🔍 手動でのCache Buster例

/account.css → /account.css?cb=001
/account.css → /account.css?cb=002
/account.css → /account.css?cb=003

これにより、常に新しいキャッシュキーでオリジンサーバーに到達し、正しい挙動を観察できます。


✅ まとめ

項目 内容
Cache Busterの目的 毎回異なるキャッシュキーを生成し、常に新しいレスポンスを得る
Burp Suiteでの自動化 Param Minerの機能で?cb=ランダムを自動付加
なぜ重要か? キャッシュがあると、脆弱性の有無が正しく検出できないため

キャッシュに邪魔されない検証のためには、Cache Busterは不可欠な武器です。

Best regards, (^^ゞ