HTML 注入测试
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/html-injection-testing。
技能介绍
要解决什么问题
当用户输入未经净化就被回显到页面时,攻击者可以注入恶意 HTML,篡改站点外观、伪造登录表单或插入误导链接。这类问题与 XSS 不同:HTML 注入通常只改变页面结构与展示,不直接执行 JavaScript,但在钓鱼与声誉损害场景里仍然危险,且常成为进一步利用的入口。
技能如何组织测试
本技能按渗透测试节奏,从理解注入机理到自动化与修复建议串联完整流程:
- 测绘注入面:梳理 URL 参数、表单字段、Cookie、HTTP 头、文件上传等常见回显点。
- 分型验证:区分存储型、反射型 GET/POST,以及 URL 显示上下文中的注入行为。
- 载荷与绕过:从基础标签(如
<h1>、链接、表单)到 CSS/meta/iframe/表单 action 覆盖;配合 URL 编码、HTML 实体、双重编码等变体应对简单过滤器。 - 场景化利用演示:钓鱼表单构造、页面篡改载荷,并在浏览器中确认视觉影响(而非仅看 HTTP 响应)。
- 工具链:Burp Suite、OWASP ZAP、代理改包与
cURL载荷复现;可选自定义模糊测试脚本。 - 交付物:注入点清单、利用证明、影响评估(钓鱼/篡改/凭据风险)及输入校验、上下文输出编码、CSP/WAF 等修复方向。
适用边界与注意点
现代 CSP、WAF 与正确的上下文转义会显著降低可利用性;部分浏览器也会对部分注入做净化。测试时应明确区分「HTML 已渲染」与「仅 HTML 编码回显」,并在多浏览器下验证存储型与反射型差异。严重性通常低于可执行脚本的 XSS,但与钓鱼结合时需按凭据窃取与品牌损害单独评级。
使用场景
- 用户评论、昵称或搜索关键词直接回显到页面时,用 `<h1>`、链接等基础标签确认是否存在未净化注入点。
- 上线前或变更后,分别在 URL 查询参数与 POST 表单字段中验证反射型与存储型 HTML 注入的行为差异。
- 评估个人资料或错误页是否可注入伪造登录表单时,构造钓鱼载荷并在浏览器中核对页面视觉与表单提交目标。
- 编写修复验证报告时,复现页面篡改类载荷,并检查在输出编码、CSP 或 WAF 生效后注入是否仍被渲染。
适合人员
- 负责门户或业务系统上线前安全检查的 Web 渗透测试工程师,需要按注入上下文整理注入点与利用证明。
- 维护论坛、工单或 CMS 中用户内容回显模块的后端开发,需要在调整转义策略前弄清是 HTML 注入还是 XSS 边界。
- 向甲方交付 Web 安全评估报告的乙方顾问,需要可演示的页面篡改与钓鱼表单 PoC 及修复优先级说明。
- 日常使用 Burp Suite 或 OWASP ZAP 做改包与扫描的安全研究员,需要编码绕过、模糊测试与手工确认视觉影响的步骤参考。