Hello there, ('ω')ノ
✅ 概要
Burp Repeaterでは、WebSocketメッセージの送信だけでなく:
接続そのもの(ハンドシェイク)を複製・再接続・改変する機能が備わっています。
これにより、不正なトークンの注入やセッションの切替、接続条件の変更など、高度な診断が可能になります。
🛠 手順:Burp RepeaterでWebSocket接続を操作する
① WebSocket通信をRepeaterへ送る
- Burpの「Proxy」タブの「WebSockets」や「Intercept」で通信を確認
- 任意のメッセージを右クリック →「Send to Repeater」
② 接続の編集を開始
- Repeaterタブで、画面上部のURLの右横にある**鉛筆アイコン(✏️)**をクリック
- 「WebSocket connection wizard」が起動
③ 操作モードを選択
選択肢 | 内容 |
---|---|
Attach | 既存の接続にそのまま接続(変更なし) |
Clone | 今の接続を複製(ハンドシェイク含め再実行) |
Reconnect | 切断済みの接続を再接続(接続条件を編集可能) |
→ 通常は Clone または Reconnect を選び、ハンドシェイクを編集可能にします。
④ ハンドシェイクリクエストを編集
表示されるHTTPリクエスト(
Upgrade: websocket
を含む)を自由に編集:- CookieやAuthorizationヘッダー
- クエリパラメータ
- 接続先パス
⑤ 「Connect」で再接続
- 編集が完了したら「Connect」ボタンを押して接続を試みます。
成功すれば、新しいWebSocketセッションが開始され、
- そのセッション上で自由にメッセージ送信が可能になります。
🔍 この機能で可能になる攻撃・検証
検証対象 | 攻撃例 |
---|---|
トークン偽装 | 他ユーザーのJWTトークンを使って再接続 |
セッション再利用 | 他人のCookieで接続試行し、データを盗む |
URL書き換え | 通常はアクセスできないサブエンドポイントへ接続 |
多段接続検証 | 別サーバー経由の攻撃(CSWSH: Cross-Site WebSocket Hijacking)検証 など |
✅ まとめ
Burp RepeaterのWebSocket接続操作機能は、単なるメッセージ操作に留まらず、接続レベルでの侵入・偽装を可能にする強力な診断手段です。
ステップ | ポイント |
---|---|
Clone または Reconnect を選択 | ハンドシェイク編集可能に |
HTTPリクエストを編集 | Cookieやパラメータ、パスを書き換える |
Connect実行 | 新規セッションで再検証・攻撃可能に |
Best regards, (^^ゞ