utsuroi ssrf labsLab 04 / 5 — Practitioner
04

Blind SSRF — レスポンスは見えなくても out-of-band で漏洩

Blind SSRF detected via OAST

うつろい EC の在庫システムには、注文確定時に外部ロジスティクス API を叩く Webhook 機能がある。攻撃者がカスタム Webhook URL を設定でき、その URL に対してサーバが POST する。

レスポンスは攻撃者には見えない(在庫システムが内部処理するだけ)。しかし攻撃者がコントロールするドメインを Webhook URL に指定すれば、サーバからのリクエスト自体が「ヒット」として観測できる。これは Out-of-Band Application Security Testing(OAST)の典型シナリオ。

Blind SSRF を OAST 経由で検出してください。
① 攻撃者の OAST ドメインを Webhook URL に設定 → サーバから DNS / HTTP リクエストが飛んでくることを観測。
② 内部ネットワーク到達確認のため、URL に内部ホストを指定して、その後 OAST にも漏れるか確認。

攻撃者は rqst.attacker.example を保有しており、サブドメイン {ランダム}.rqst.attacker.example へのアクセスを全て記録している(Burp Collaborator のような OAST サービス)。

[攻撃者の OAST サーバ] 待機中...
クイック試行:
在庫システムの応答(攻撃者から見える範囲)
(まだ保存していません)

内部ホスト存在確認の応用

サーバ側にレート差(タイムアウト時間)があるため、内部ホストの存在/不在を Blind に判定できる。

タイミング測定結果
(まだ測定していません)
レスポンスが見えなくても判別できる理由
レスポンスが見えない = 直接的な情報窃取はできない。
しかし以下の「副作用」は観測可能:

1. OAST サーバへの DNS / HTTP リクエスト ← サーバから到達できることが確認できる
2. レスポンス時間の差            ← 内部ホストの存在/不在を推測
3. エラーメッセージの差            ← 接続拒否 vs 接続成立 vs タイムアウト
4. リダイレクト連鎖               ← 内部ホストが返した HTTP コードを誘導