关于 pentest-xss
pentest-xss 是用于跨站脚本评估的安全技能,帮助测试人员验证反射型、存储型、DOM 和盲 XSS。它强调在授权范围内以最小化证据确认浏览器执行,并记录上下文、前置条件和影响。
主要功能
- 01枚举可控输入源与执行接收点
- 02分析 HTML、脚本及 DOM 上下文
- 03用最小载荷验证浏览器执行
- 04关联盲 XSS 回调与控制项
- 05整理证据并给出修复方向
适用场景
- 01评估反射型或存储型 XSS
- 02追踪 DOM 源到危险接收点
- 03验证 CSP 或过滤器行为
- 04记录可复现的 XSS 证据
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ crtvrffnrt/ skills --skill pentest-xss安装后在 Claude Code 中输入/pentest-xss确认已加载。
附带文件examples/match-and-replace-examples.mdresources/blind-xss-guide.md
详细介绍
跨站脚本攻击评估
目的
通过梳理可控来源与浏览器执行上下文之间的关系、安全地证明代码执行,并在需要时移交回调或解析器相关工作,发现并验证 XSS。
适用场景
- 当前负责阶段涉及反射型、存储型、DOM 型或盲 XSS。
- 任务需要分析 HTML、属性、JavaScript、URL、CSS、模板或浏览器接收端上下文。
- CSP、WAF、净化器、编码或客户端来源到接收端的行为是核心问题。
输入
- 目标 URL、参数、标头、Cookie、请求体字段、DOM 来源或捕获的请求。
- 范围和目标允许列表。
- 涉及存储型或管理员查看的页面时,需要已认证会话或测试账号。
- 可选的 CSP、净化器行为、客户端来源、代理流量和 OOB 监听器详情。
工作流
- 在注入载荷前,确认范围、身份上下文和安全的测试目标。
- 枚举可控来源:URL 参数、路径片段、标头、Cookie、JSON/XML/表单字段、上传内容,以及
location、postMessage、存储或 referrer 等 DOM 来源。 - 确定反射或接收端上下文:HTML 文本、标签、属性、脚本块、URL、CSS、模板、Markdown、富文本,或
innerHTML、outerHTML、insertAdjacentHTML、document.write、eval等危险 DOM 接收端或框架的转义绕过接口。 - 先使用无害标记和上下文突破方式,再尝试可执行载荷。
- 使用能证明代码执行的最小载荷,不窃取令牌、不重定向用户,也不扰乱生产环境状态。
- 对于存储型或盲测路径,使用唯一令牌、时间戳和受控回调端点。
- 对照不同控制项:无害标记、转义标记、不同上下文、不同角色/查看者,以及预期的拒绝路径。
- 一旦证明能力成立就停止,并保留准确的请求、响应、渲染上下文、浏览器证据和时间戳。
验证门槛
- 仅凭反射不能报告 XSS;必须证明浏览器代码执行,或证明存在具有可执行上下文的明确来源到接收端路径。
- 对于盲 XSS,必须通过令牌、路径或子域、时间戳和控制结果进行确定性的 OOB 关联。
- 对于 DOM XSS,必须识别可控来源、转换路径、接收端以及所需的用户/浏览器操作。
- 对于 CSP 或 WAF 绕过声明,必须展示相关策略/过滤器行为以及有效的对照比较。
情况判断
- 先进行低频人工测试,再考虑大范围的查找并替换自动化。
- 自动化仅用于允许列表中的主机和参数,并使用唯一、可追踪的标记和停止条件。
- 只有当载荷行为随内容类型、浏览器、净化器或请求解析器而变化时,才转向解析器/编码分析。
移交标准
- 将盲 XSS 回调设置、令牌管理、监控和关联工作移交给
pentest-outbound-interaction-oob-detection。 - 将解析器差异、编码混淆、内容类型变更或请求变更工作移交给
pentest-input-protocol-manipulation。 - 执行和影响证据完备后,移交给
pentest-evidence-structuring-report-synthesis。
输出
- XSS 类型和上下文。
- 来源、转换路径、接收端和所需前置条件。
- 最小化的证明载荷或标记(如有需要,应进行脱敏)。
- 包含控制项的浏览器或回调证据。
- 根据可触达的用户角色以及数据/操作暴露情况说明影响。
- 针对输出编码、净化器配置、CSP、框架转义绕过接口或接收端替换提供修复建议。
评论
支持 Markdown