用途
该技能面向获得书面授权的渗透测试场景,用于评估应用中的 WebSocket 实现安全性。适用于使用 WebSocket 提供实时功能的应用,例如聊天应用、实时通知、交易平台、协作编辑工具,以及基于 Socket.IO、SignalR 或原生 WebSocket API 的应用。测试目标包括 WebSocket 端点的认证与授权缺陷、实时数据流的注入漏洞等。
主要能力
技能覆盖以下测试方向:
- 发现与枚举 WebSocket 端点,包括常见路径探测、Socket.IO 与 SignalR 端点识别。
- 测试 WebSocket 认证,包括无认证连接、过期或无效令牌、会话重放、URL 参数令牌,以及连接后令牌失效仍可通信的情况。
- 测试跨站 WebSocket 劫持(CSWSH),检查 Origin 头校验是否缺失,并提供 PoC 页面示例。
- 测试 WebSocket 消息注入,包括 SQL 注入、XSS、命令注入、路径遍历和 IDOR。
- 测试消息级授权与速率限制,包括越权访问他人数据、订阅他人私有频道、发送管理员命令,以及消息洪泛导致的 DoS 风险。
- 测试传输加密与协议安全,包括 WSS 与 WS 混用、Sec-WebSocket-Protocol 处理、permessage-deflate 压缩侧信道,以及连接持久化与超时。
使用方式
技能以工作流形式组织,分为六个步骤:
- 发现并枚举 WebSocket 端点,使用 curl 检查升级响应头、探测常见路径、识别 Socket.IO 与 SignalR,并在浏览器 DevTools 的 Network 面板过滤 WS 连接。
- 测试 WebSocket 认证,使用 wscat 或 Python websockets 尝试无认证、无效令牌、重放会话和 URL 令牌连接。
- 测试 CSWSH,通过 curl 发送伪造 Origin 头,若返回 101 Switching Protocols 则说明 Origin 未校验;技能提供托管在攻击者服务器上的 PoC HTML 示例。
- 测试消息注入,使用 wscat 手动发送 SQL 注入、XSS、命令注入、路径遍历和 IDOR 载荷,或用 Python 脚本批量测试。
- 测试授权与速率限制,使用 Python 脚本尝试访问其他用户数据、订阅私有频道、执行管理员操作,并发送大量消息检测限流。
- 测试加密与协议安全,检查是否使用 WSS、是否存在 ws:// 混用、Sec-WebSocket-Protocol 处理、permessage-deflate 压缩侧信道以及连接超时与限制。
技能还列出了所需前置条件:书面渗透测试授权、Burp Suite Professional(支持 WebSocket 拦截)、浏览器 DevTools、websocat(cargo install websocat)、wscat(npm install -g wscat)、Python websockets(pip install websockets)。
适用场景
技能给出四类常见场景:聊天应用 CSWSH 导致私信泄露;交易平台订单消息中的 SQL 注入;协作工具缺少消息级授权导致普通用户执行管理员命令;通知系统频道 IDOR 导致任意用户订阅他人私有通知频道。
输出格式
技能提供结构化的 WebSocket 安全评估报告模板,包含漏洞名称、严重等级、位置、OWASP 分类、WebSocket 配置表、发现列表、影响与修复建议。修复建议包括:校验 Origin 头、在升级请求中实现 CSRF 令牌、对每条消息执行授权检查、对用户输入进行净化、实现每连接消息速率限制、在登出或会话过期时使 WebSocket 连接失效、使用逐消息认证令牌而非仅依赖初始握手。
限制
该技能仅限在获得书面授权的渗透测试中使用。技能资料未提供关于收费、价格、平台支持范围或实际测试效果的信息。