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, (^^ゞ