Shikata Ga Nai

Private? There is no such things.

WebSocket通信の操作とセキュリティ診断の基本技術

Hello there, ('ω')ノ

✅ WebSocket脆弱性の見つけ方とは?

WebSocketにおけるセキュリティ脆弱性を発見するには:

アプリケーションが「予期していない使い方」をあえて試すこと

が基本になります。

そのために、Burp Suiteを使ってWebSocket通信を「観察・改変・再送信」することが重要です。


🛠 Burp Suiteでできること

機能 説明
WebSocketメッセージの傍受(Intercept) クライアント⇄サーバー間の通信をその場で確認&編集
メッセージの再送(Replay) 任意のWebSocketメッセージを再送してサーバーの挙動を検証
新規メッセージの作成(Send) 自由な内容のメッセージを送信し、想定外の動作を探る
接続操作(Connections) コネクションの維持/切断、複数セッションの管理など

🔍 脆弱性を探る観点

1. 認可チェックがされているか?

  • 他ユーザーの情報にアクセスできてしまわないか?

2. 入力バリデーションは適切か?

  • サーバーにスクリプトや構造化された攻撃ペイロードを送れるか?

3. セッション情報が適切に管理されているか?

  • WebSocket接続時に認証済みユーザーであることを検証しているか?

✅ 典型的な攻撃例

攻撃タイプ 内容
セッションIDの漏洩 JavaScriptがWebSocket経由でCookieやトークンを送信する
不正リクエスト送信 WebSocketでパラメータを操作して権限外の処理を行う
コマンドインジェクション メッセージ本文に不正な文字列を入れてサーバー処理を操作

✅ まとめ

WebSocketの脆弱性診断では、Burp Suiteを使ってメッセージ単位で通信を詳細に操作・再現するのが鍵です。

技術 解説
改ざん(Intercept) 通信途中で内容を変更し、脆弱性を探る
再送信(Replay) 条件を変えて同じリクエストを再度試す
自作メッセージ(Manual Send) 攻撃ペイロードを組み込んだ通信を手動送信

Best regards, (^^ゞ