SuperAPI AI 工具集

Cross-Site Scripting and HTML Injection Testing

安全与审计

查看项目

更新于 10-15 17:41

技能介绍

用途

对 Web 应用执行全面的客户端注入漏洞评估,以识别 XSS 和 HTML 注入缺陷,演示用于会话劫持和凭据窃取的利用技术,并验证输入清理和输出编码机制。此技能可对存储型、反射型和基于 DOM 的攻击向量进行系统化检测和利用。

主要能力

漏洞检测

定位用户输入在响应中回显的位置,包括搜索框和查询参数、用户资料字段、URL 片段和哈希值、显示用户输入的错误信息、仅客户端验证的表单字段、隐藏表单字段和参数、HTTP 头(User-Agent、Referer)。插入测试字符串观察应用行为,判断输入是否被原样反射、部分编码或触发 JavaScript 执行,并判断 XSS 类型(存储型、反射型或 DOM 型)。

存储型 XSS 利用

针对评论区和论坛、用户资料字段、产品评价和评分、私信与聊天系统、文件上传元数据、配置设置与偏好等持久化用户内容区域,构造持久载荷,包括 Cookie 窃取载荷、键盘记录注入、会话劫持以及钓鱼表单注入。

反射型 XSS 利用

构造包含 XSS 载荷的恶意 URL,支持基础反射载荷、URL 编码载荷、参数中的事件处理器、基于片段的载荷。投递方式包括钓鱼邮件、社交媒体消息、URL 短链、二维码以及通过受信任域的重定向链。

DOM 型 XSS 利用

识别易受攻击的接收点(如 document.write、element.innerHTML、innerHTML、eval、setTimeout 等)与用户可控来源(如 location.hash、location.search、document.referrer、window.name、postMessage 数据、localStorage/sessionStorage),并给出基于哈希、URL 参数和 PostMessage 的利用示例。

HTML 注入技术

涵盖反射型与存储型 HTML 注入,包括内容注入、表单劫持、用于数据外泄的 CSS 注入、iframe 注入、跑马灯干扰、样式覆盖以及 CSS 隐藏内容。

过滤器绕过

提供标签与属性变体(大小写变化、替代标签、畸形标签)、编码绕过(HTML 实体、十六进制、Unicode、混合编码)、JavaScript 混淆(字符串拼接、模板字面量、构造函数执行、Base64、无括号写法)以及空白和注释绕过技术。

快速参考

包含 XSS 检测清单、常见上下文对应的载荷表、Cookie 窃取载荷和会话劫持模板。

使用方式

所需访问条件包括:带用户输入字段的目标 Web 应用 URL,用于请求分析的 Burp Suite 或浏览器开发者工具,用于存储型 XSS 测试的测试账号,以及启用 JavaScript 控制台的浏览器。技术前提包括理解浏览器上下文中的 JavaScript 执行、HTML DOM 结构与操作、HTTP 请求/响应头、Cookie 属性与会话管理。法律前提包括书面安全测试授权、明确的目标域名与功能范围、捕获会话数据的处理协议以及事件响应流程。

核心工作流分为六个阶段:阶段 1 漏洞检测(定位输入反射点、基础检测测试、确定 XSS 类型);阶段 2 存储型 XSS 利用(识别存储位置、构造持久载荷);阶段 3 反射型 XSS 利用(构造恶意 URL、投递方式);阶段 4 DOM 型 XSS 利用(识别易受攻击的接收点和来源);阶段 5 HTML 注入技术;阶段 6 过滤器绕过技术。

输出交付物包括带严重性分级的 XSS/HTMLi 漏洞报告、证明影响的 PoC 载荷、受控环境下的会话劫持演示以及带 CSP 配置的修复建议。

适用场景

适用于获得授权的 Web 应用安全测试,用于发现和验证客户端注入缺陷,评估输入清理与输出编码机制的有效性,演示漏洞的实际影响,并提供修复建议。

限制与约束

操作边界:不得注入可能损坏生产系统的载荷;Cookie/会话捕获仅限演示用途;避免可能传播给非预期用户的载荷(蠕虫行为);不得在范围要求之外外泄真实用户数据。

技术限制:内容安全策略(CSP)可能阻止内联脚本;HttpOnly Cookie 阻止 JavaScript 访问;SameSite Cookie 属性限制跨域攻击;现代框架通常自动转义输出。

法律与道德要求:测试前需要书面授权;立即报告严重 XSS 漏洞;按数据保护协议处理捕获的凭据;不得利用发现的漏洞进行未授权访问。

故障排查涵盖脚本不执行(检查 CSP 阻止、验证编码、尝试事件处理器、确认 JS 已启用)、载荷出现但不执行(用引号突破属性上下文、检查是否在注释内、测试不同上下文)、Cookie 不可访问(检查 HttpOnly 标志、尝试 localStorage/sessionStorage、使用 no-cors 模式)、CSP 阻止载荷(在列入白名单的域名上寻找 JSONP、检查 unsafe-inline、测试 base-uri 绕过)、WAF 阻止请求(使用编码变体、片段载荷、空字节、大小写变体)。