Hello there, ('ω')ノ
このラボでは、Blind SSRF(ブラインドSSRF)を利用し、アプリケーションに外部サーバーへのリクエストを強制することが目的 です。
ただし、SSRFの結果(レスポンス)は攻撃者に表示されない ため、Burp Collaboratorを利用したOut-of-Band(OAST)攻撃 で脆弱性を検証します。
🔍 攻撃の流れ
アプリケーションの動作を確認
- Refererヘッダーに指定されたURLに対してバックエンドがリクエストを送信する 仕組みを利用する。
Burp Collaboratorを利用して、外部サーバーへのリクエストを検出
- Refererヘッダーを変更し、Burp Collaboratorのドメインを設定
- アプリケーションがBurp Collaboratorにリクエストを送信するか確認
🔧 攻撃手順
① Burp Suiteでリクエストをキャプチャ
- 任意の製品ページを開く
- Burp Suiteを起動し、リクエストをインターセプト
- Refererヘッダーを確認
リクエストの例:
GET /product?productId=6 HTTP/1.1 Host: YOUR-LAB-ID.web-security-academy.net Referer: https://YOUR-LAB-ID.web-security-academy.net/
✅ Refererヘッダーが存在することを確認!
② RefererヘッダーをBurp Collaboratorのドメインに変更
- Burp Suiteの「Burp Collaborator」タブを開く
- 「Copy to clipboard」ボタンをクリックし、一意のBurp Collaboratorドメインを取得
- 例:
x6x7p6.burpcollaborator.net
- 例:
- Burp Repeaterにリクエストを送信し、Refererヘッダーを変更
GET /product?productId=6 HTTP/1.1
Host: YOUR-LAB-ID.web-security-academy.net
Referer: http://x6x7p6.burpcollaborator.net
- 「Send」ボタンをクリックしてリクエストを送信
✅ アプリケーションがRefererのURLに対してリクエストを送信するか確認!
③ Burp Collaboratorでリクエストを確認
- Burp Suiteの「Burp Collaborator」タブを開く
- 「Poll now」ボタンをクリック
- アプリケーションがBurp Collaboratorのドメインにリクエストを送信したか確認
- 成功すると、DNSまたはHTTPリクエストが記録される!
- HTTPリクエストが観測されれば、Blind SSRFが成立!
✅ リクエストが記録されれば、ラボクリア!🎉
🎯 まとめ
- 製品ページを開き、Refererヘッダーの挙動を確認
- Burp Collaboratorで一意のドメインを取得
- RefererヘッダーをBurp Collaboratorのドメインに変更し、リクエストを送信
- Burp Collaboratorでリクエストを確認
- リクエストが記録されれば、Blind SSRFの成功!🎉
Best regards, (^^ゞ