Hello there, ('ω')ノ
一部のアプリケーションは、サーバーサイドのアナリティクス(訪問者追跡)ソフトウェアを使用し、Refererヘッダーをログに記録または解析 します。
この解析プロセスの中で、Refererヘッダー内のURLにリクエストを送る 仕様になっている場合、SSRF(Server-Side Request Forgery)攻撃が可能になります。
1. Refererヘッダーを悪用したSSRFの仕組み
通常、Webアプリケーションは、訪問者がどこから来たのかを把握するために、リクエストのRefererヘッダーをログに記録 します。
しかし、一部のアナリティクスソフトウェアは、Refererヘッダー内のURLに自動的にリクエストを送る 機能を持っているため、これをSSRF攻撃に悪用できます。
🔹 典型的なアナリティクスの流れ
- ユーザーが 外部サイト(
http://attacker.com
) にあるリンクをクリックし、ターゲットサイトにアクセス - ユーザーのリクエストには、Refererヘッダーが含まれる
http Referer: http://attacker.com/page.html
- ターゲットサイトのアナリティクスソフトウェアが、このRefererヘッダーをログに記録
- アナリティクスがReferer内のURL(
http://attacker.com/page.html
)にリクエストを送信 - 攻撃者のサーバーがリクエストを受信し、内部ネットワークへの攻撃を試みる
✅ 攻撃者はRefererヘッダーを操作することで、ターゲットの内部リソースへリクエストを強制できる!
2. Refererヘッダーを利用したSSRF攻撃
Refererヘッダーの値を 攻撃者が指定できるURL に変更することで、ターゲットサーバーが 攻撃者の意図するURLにリクエストを送るように誘導 できます。
📌 攻撃例:AWSメタデータサービスへのSSRF
- 攻撃者がRefererヘッダーを変更し、メタデータAPIのURLをセット
http Referer: http://169.254.169.254/latest/meta-data/
- アナリティクスソフトウェアがこのURLにリクエストを送信
- クラウド環境のIAMクレデンシャルなどの機密情報を取得可能!
✅ 成功すると、AWSやGCPの認証情報が漏洩し、クラウド環境を乗っ取ることができる!
3. Refererヘッダーを利用した内部ネットワークスキャン
Refererヘッダーが 任意のURLを指定できる仕様 になっている場合、内部ネットワークのスキャンに利用できます。
📌 攻撃例:内部ネットワークの管理パネル探索
Referer: http://192.168.1.1/admin
この値をセットしてリクエストを送ると、アナリティクスソフトウェアが内部ネットワークの管理ページにアクセスする可能性あり!
✅ 成功すると、内部システムの管理パネルが見つかり、追加の攻撃につなげられる!
4. SSRF攻撃の自動化
Burp Suiteの「Intruder」機能を利用すると、Refererヘッダーを 内部ネットワークのさまざまなIPレンジに対して自動的に変更 し、スキャンを実行できます。
🔹 手順
- Burp Suiteでリクエストをキャプチャ
- Intruderに送信し、Refererヘッダーの値を
192.168.0.1
〜192.168.0.255
に変更 - リクエストを送信し、応答時間や異常なレスポンスを分析
- 内部リソースにアクセスできたIPを特定し、追加攻撃を実行!
✅ サーバー側のアナリティクス機能がRefererヘッダーのURLにアクセスする仕様なら、内部ネットワークスキャンが可能!
5. まとめ
攻撃手法 | 攻撃内容 | 成功例 |
---|---|---|
AWS/GCPメタデータ取得 | クラウドの認証情報を盗む | Referer: http://169.254.169.254/latest/meta-data/ |
内部ネットワークスキャン | 内部システムの調査 | Referer: http://192.168.1.1/admin |
SSRFの自動化 | Intruderを使って攻撃範囲を拡大 | Referer: http://192.168.0.X/ をスキャン |
🚀 RefererヘッダーはSSRF攻撃の隠れたエントリーポイントになり得る!
🔍 アナリティクスがRefererを処理する挙動を分析し、内部ネットワークやクラウド環境を攻撃しよう!
Best regards, (^^ゞ