用途
HTML Injection Testing 用于识别和利用 HTML 注入漏洞。当用户输入未经适当清理就被反射到网页中时,就会发生 HTML 注入,攻击者可借此注入恶意 HTML 内容,修改页面外观、创建钓鱼页面、注入恶意链接或显示误导性内容。该技能适用于用户要求测试 HTML 注入、向网页注入 HTML、执行 HTML 注入攻击或进行网页篡改的场景。
主要能力
该技能覆盖 HTML 注入测试的完整流程,包括:
- 理解 HTML 注入与 XSS 的区别(HTML 注入仅渲染 HTML 标签,XSS 会执行 JavaScript 代码,HTML 注入常是通往 XSS 的跳板)
- 识别注入点,如搜索栏、评论区、用户资料字段、联系表单、注册表单、URL 参数、错误消息、页面标题、隐藏表单字段、Cookie 值等
- 基础 HTML 注入测试,使用文本格式化、结构元素、链接、图片等标签
- 存储型、反射型 GET、反射型 POST 及基于 URL 的注入测试
- 钓鱼攻击构造,包括伪造登录表单覆盖层和隐藏凭据窃取器
- 篡改载荷,如全页覆盖、内容替换、图片注入、跑马灯注入
- 高级注入技术,包括 CSS 注入、Meta 标签注入、表单动作覆盖、iframe 注入
- 绕过技术,如大小写变化、编码变化、标签拆分、空字节、双重编码、Unicode 编码、基于属性的注入
- 自动化测试,使用 Burp Suite、OWASP ZAP 或自定义模糊测试脚本
- 预防与修复,包括安全编码实践和服务器端防护
使用方式
该技能以工作流形式组织,分为十个阶段:
- 理解 HTML 注入原理
- 识别注入点
- 基础 HTML 注入测试
- 测试不同类型的 HTML 注入
- 构造钓鱼攻击
- 使用篡改载荷
- 应用高级注入技术
- 使用绕过技术
- 自动化测试
- 预防与修复
测试时需使用带开发者工具的 Web 浏览器、Burp Suite 或 OWASP ZAP、Tamper Data 或类似代理、cURL 等工具。需要具备 HTML 基础、HTTP 请求/响应结构、Web 应用输入处理以及 HTML 注入与 XSS 区别等知识。
适用场景
适用于 Web 应用安全测试、漏洞评估、渗透测试等场景,帮助测试人员发现和验证 HTML 注入漏洞,评估钓鱼和篡改风险,并提供修复建议。
限制
现代浏览器可能会清理某些注入;CSP 可阻止内联样式和脚本;WAF 可能拦截常见载荷;部分应用会正确转义输出。HTML 注入的严重性低于 XSS(无脚本执行),但与钓鱼结合时影响更高,需考虑篡改/声誉损害并评估凭据窃取可能性。测试时需区分 HTML 注入与 XSS,在浏览器中验证视觉影响,在多个浏览器中测试,并检查是存储型还是反射型。