Hello there, ('ω')ノ
🧰 必要なツール
- Burp Proxy(通信の傍受)
- Burp Repeater(リクエストの再送・編集)
- Burp Intruder(自動化されたペイロード挿入)
🪄 ステップ1:Hostヘッダーに任意の値を入れて送信する
例:オリジナルのリクエスト
GET /support HTTP/1.1 Host: example.com
攻撃用に変更:
GET /support HTTP/1.1 Host: attacker.com
このようにHostヘッダーを 意図的に変えて リクエストを送ると、サーバーの挙動がどう変わるかを観察できます。
📌 注意点
通常のプロキシツールではHostヘッダーを書き換えると、リクエスト自体が他のIPに飛んでしまう ため、テストが難しくなります。
しかし、Burp SuiteではHostヘッダーと接続先IPアドレスを分けて管理できるため、自由に改ざんしても正しいサーバーにリクエストを送れます。
🔬 テストの結果を確認する
✔️ サーバーが応答する場合:
- そのドメインがデフォルトのバーチャルホストに設定されている可能性あり
- そのまま、Hostヘッダーがどのように使われているかを詳しく調査
❌ サーバーがエラーを返す場合:
- 例:「Invalid Host header」
- CDNやロードバランサー経由でのアクセスだと、認識できないHostをブロックする設定がある
この場合は、次のような追加手法を試しましょう。
💡 今後試すべき手法
- パスワードリセットリンクなどでHostヘッダーの内容が使用される箇所を探す
- キャッシュヘッダーと組み合わせてキャッシュポイズニングを試す
- X-Forwarded-Hostなどのヘッダーを併用して挙動を変える
✅ まとめ
チェックポイント | 目的 |
---|---|
Hostヘッダーの任意値送信 | サーバーがどう反応するか確認 |
レスポンスの挙動を観察 | 攻撃の糸口を見つける |
エラーになる場合は次の手へ | CDNやLBが原因なら別手法を検討 |
Best reagards, (^^ゞ