关于 pentest-client-advanced
用于测试 XSS 之外客户端攻击面的安全测试技能,覆盖六类 WSTG-CLNT 测试,并提供浏览器验证和构造概念验证的流程。
主要功能
- 01CORS 配置错误测试
- 02WebSocket 安全检查
- 03点击劫持评估
- 04检查 postMessage 来源与输入
- 05CSS 注入及客户端存储分析
- 06构造基于浏览器的攻击 PoC
适用场景
- 01测试跨域访问和 WebSocket 防护
- 02评估点击劫持与 postMessage 处理
- 03检查浏览器存储中的敏感数据
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ jd-opensource/ joysafeter --skill pentest-client-advanced安装后在 Claude Code 中输入/pentest-client-advanced确认已加载。
附带文件references/tools.mdreferences/workflows.md
详细介绍
渗透测试客户端进阶
目的
测试 XSS 之外的高级客户端攻击面。Shannon 的流水线中仍有 6 项 WSTG-CLNT 测试未完成——这些是不同的攻击类别,需要采用不同于污点分析的方法。
先决条件
授权要求
- 书面授权,且包含客户端测试范围
- 测试域名,用于托管 PoC HTML 页面(攻击者控制的源)
- 浏览器测试环境,并可访问开发者工具
- 目标用户模拟——能够测试跨源交互
环境设置
- 带开发者工具的现代浏览器(Chrome/Firefox)
- Burp Suite,用于拦截 WebSocket 和跨源流量
- 用于托管 PoC 页面的本地 HTTP 服务(python -m http.server)
- Playwright,用于自动化验证基于浏览器的攻击
核心工作流
- CORS 配置错误:测试 ACAO 标头中反射的 Origin、null 源绕过、子域通配符滥用,以及通过跨源请求泄露凭据(WSTG-CLNT-07)。
- WebSocket 安全性:WS 升级时缺少身份验证、CSWSH(跨站 WebSocket 劫持)、通过 WS 消息注入,以及缺少源验证(WSTG-CLNT-10)。
- 点击劫持:缺少 X-Frame-Options / CSP frame-ancestors、UI 诱骗、拖放劫持、多步骤点击劫持链(WSTG-CLNT-09)。
- postMessage 滥用:消息处理器中缺少源验证、通过跨源消息操纵 DOM、通过 postMessage 进行原型污染(WSTG-CLNT-11)。
- CSS 注入:通过 CSS 属性选择器 + background-image 窃取数据、基于 CSS 的键盘记录、注入样式以操纵 UI(WSTG-CLNT-05)。
- 客户端存储:localStorage/sessionStorage 中的敏感数据、IndexedDB 暴露、Service Worker 缓存投毒(WSTG-CLNT-06)。
- PoC 构建:构建 HTML 页面,展示每种攻击的实际影响。
WSTG 覆盖范围
| WSTG ID | 测试名称 | 状态 |
|---|---|---|
| WSTG-CLNT-05 | CSS 注入 | ✅ |
| WSTG-CLNT-06 | 客户端资源操纵 | ✅ |
| WSTG-CLNT-07 | 跨源资源共享 | ✅ |
| WSTG-CLNT-09 | 点击劫持 | ✅ |
| WSTG-CLNT-10 | WebSocket 测试 | ✅ |
| WSTG-CLNT-11 | Web 消息传递 | ✅ |
工具类别
| 类别 | 工具 | 用途 |
|---|---|---|
| CORS 测试 | CORScanner、curl、自定义 PoC 页面 | 检测 CORS 配置错误 |
| WebSocket | websocket-client (Python)、Burp WS | WebSocket 劫持和注入 |
| 点击劫持 | 自定义 HTML iframe、Playwright | 构建 UI 诱骗 PoC |
| 浏览器自动化 | Playwright、Puppeteer | 自动化验证客户端攻击 |
| 存储分析 | 浏览器开发者工具、自定义 JS | 检查 localStorage/IndexedDB |
参考资料
references/tools.md- 工具函数签名和参数references/workflows.md- 攻击模式定义和测试向量
评论
支持 Markdown