SuperAPI AI 工具集

websocket-attack

安全与审计

查看项目

更新于 10-16 05:41

技能介绍

用途:针对 WebSocket 通信开展安全测试。适用于目标使用 ws:// 或 wss://、页面 JS 中存在 new WebSocket() 调用,或出现 101 Switching Protocols 响应的场景。

主要能力:

  1. 端点发现:在 JS 源码中搜索 new WebSocket(、ws:// 或 wss://、socket.io、onmessage/send;在网络层识别 HTTP 101 与 Upgrade: websocket 头,常见路径包括 /ws、/websocket、/socket.io/、/cable。
  2. CSWSH:握手本质是 HTTP Upgrade,浏览器自动携带 Cookie,若服务端不校验 Origin 头即可跨站劫持。检测可用 http_request 携带 Upgrade、Connection、Sec-WebSocket-Version、Sec-WebSocket-Key 及伪造 Origin 头,返回 101 表示 Origin 未校验;利用时通过页面脚本建立连接、发送消息并外带响应数据。
  3. 消息注入:消息常为 JSON,可测试 SQL 注入、命令注入、SSTI 等载荷。
  4. 认证绕过:握手通过认证而消息级不校验权限时,可发送管理员操作、篡改 user_id/role、使用 JS 源码中发现的未公开 action。
  5. 信息泄露:被动监听可能获取他人聊天、系统通知、实时日志、管理操作广播等。
  6. Socket.IO:协议格式如 42["event_name",{data}],先 HTTP 轮询再升级,路径 /socket.io/?EIO=4&transport=polling,可尝试连接 /admin 命名空间并枚举事件名。

限制与注意:WebSocket 不受浏览器同源策略保护,仅依赖服务端 Origin 检查;消息内容通常无自动编码或转义,注入风险较高;长连接便于持续监听与注入。深入技术可参考文档中提及的 references/websocket-exploitation.md。