Shikata Ga Nai

Private? There is no such things.

WebSocketsに潜むセキュリティ脆弱性と攻撃パターン一覧

Hello there, ('ω')ノ

✅ 概要

WebSocketは、リアルタイム性と効率性に優れた双方向通信を提供する一方で:

従来のHTTPベースと同様の、あるいはそれ以上に深刻な脆弱性を引き起こす可能性がある

という点に注意が必要です。


🧨 発生しうる脆弱性タイプ

1. サーバー側:入力処理の不備による脆弱性

種類 内容
SQLインジェクション WebSocket経由で受け取ったIDなどを直接SQLに使うケース
コマンドインジェクション WebSocketメッセージからOSコマンドを組み立てて実行
XML外部実体(XXE)攻撃 WebSocketメッセージ内のXMLに外部エンティティを含める

2. 外部連携:OASTを必要とするブラインド型脆弱性

WebSocketは非同期&反応がない通信が多く、次のような脆弱性は見た目では検知できない

種類 対応方法
ブラインドXSS OAST(Burp Collaboratorなど)で外部呼び出しを監視
ログインジェクション ログサーバーがリクエスト内容を保存しているかを監視

3. クライアント側:XSSやDOM汚染のきっかけに

攻撃 条件
XSS 他ユーザーに送ったWebSocketメッセージが画面に未エスケープで表示される
DOMベースXSS JavaScriptがメッセージ内容をそのままDOMに反映している場合

🔍 診断で注目すべきポイント

対象 観察点
送信メッセージ サーバー側でバリデーションされているか?
受信メッセージ DOM表示前にサニタイズされているか?
通信の双方向性 一方が信頼しすぎていないか?(例:サーバーが全てのクライアントデータを信頼)

✅ まとめ

WebSocketでも従来のWeb脆弱性と同じタイプの攻撃が成立するため、診断観点は非常に多岐にわたります。

脆弱性カテゴリ 具体的な攻撃例
サーバー側処理系 SQLi, OSコマンド, XXE
ブラインド系 OAST必須のXSS, SSRF, ログ注入など
クライアント側 反映型XSS, DOM汚染, JSONインジェクション

Best regards, (^^ゞ