Shikata Ga Nai

Private? There is no such things.

WebSocketメッセージの再送信・新規送信:Burp Repeaterによる診断手法

Hello there, ('ω')ノ

✅ 目的

WebSocket通信におけるセキュリティ検証や脆弱性の再現を行う際は、リアルタイムでの改変に加えて:

**過去のメッセージの「再送信」や「新規作成」**ができると、より高度な検証が可能です。

これを実現するのが Burp Repeater のWebSocket対応機能です。


🛠 Burp Repeaterでできること

機能 説明
メッセージの編集 任意のパラメータ・内容に改変可能
再送信(Replay) 同じメッセージを何度でも送信し、サーバーの挙動を確認
新規送信(Manual) 自作の攻撃ペイロードを送って、脆弱性を検証
双方向対応 クライアント→サーバー、サーバー→クライアントの両方向に送信可能
通信履歴の確認 同じ接続内で送受信されたすべてのWebSocketメッセージを一覧表示

🧪 手順:WebSocketメッセージの再送信/作成

① ProxyまたはInterceptから対象メッセージを送る

  • WebSocketメッセージが履歴に表示されたら、右クリックして:

    • 「Send to Repeater」 を選択

② Repeaterでメッセージを編集・送信

  • 内容を自由に編集(例:IDの書き換え、不正な文字列を挿入)
  • 「Send」ボタンで同じWebSocket接続上で再送信

③ 新規メッセージの作成と送信

  • フィールドを空にして、新たに任意のJSONやテキストを入力
  • 「To client」または「To server」 を選んで送信先を指定

    • 例:{"action":"getUser","id":2} → サーバーに送る

④ 過去のメッセージの再編集と再送信

  • 「History」パネルで過去のやり取りを一覧表示
  • 任意のメッセージを右クリック → 「Edit and resend」 で再利用

🔍 活用例と脆弱性検出のヒント

テスト項目 攻撃例
認可バイパス 他ユーザーのIDを送って情報が得られるか
入力値検証漏れ null, -1, abc, true, SQL文字列 など
パラメータ予測 自動インクリメントされるIDなどを手動で試す
バッファ制限 非常に大きなデータを送ってDoSやクラッシュを誘発

✅ まとめ

Burp RepeaterのWebSocket対応機能は、実際の脆弱性検証において非常に強力なツールです。

利点 内容
繰り返し検証 同じ条件で複数回検証可能
自由度の高い操作 完全に任意の内容を手動送信できる
通信履歴の可視化 実際の通信内容を追跡して再利用可能

Best regards, (^^ゞ