SuperAPI AI 工具集

exploiting-websocket-vulnerabilities

安全与审计

查看项目

更新于 10-15 13:55

技能介绍

用途

该技能面向获得书面授权的渗透测试场景,用于评估应用中的 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 压缩侧信道,以及连接持久化与超时。

使用方式

技能以工作流形式组织,分为六个步骤:

  1. 发现并枚举 WebSocket 端点,使用 curl 检查升级响应头、探测常见路径、识别 Socket.IO 与 SignalR,并在浏览器 DevTools 的 Network 面板过滤 WS 连接。
  2. 测试 WebSocket 认证,使用 wscat 或 Python websockets 尝试无认证、无效令牌、重放会话和 URL 令牌连接。
  3. 测试 CSWSH,通过 curl 发送伪造 Origin 头,若返回 101 Switching Protocols 则说明 Origin 未校验;技能提供托管在攻击者服务器上的 PoC HTML 示例。
  4. 测试消息注入,使用 wscat 手动发送 SQL 注入、XSS、命令注入、路径遍历和 IDOR 载荷,或用 Python 脚本批量测试。
  5. 测试授权与速率限制,使用 Python 脚本尝试访问其他用户数据、订阅私有频道、执行管理员操作,并发送大量消息检测限流。
  6. 测试加密与协议安全,检查是否使用 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 连接失效、使用逐消息认证令牌而非仅依赖初始握手。

限制

该技能仅限在获得书面授权的渗透测试中使用。技能资料未提供关于收费、价格、平台支持范围或实际测试效果的信息。