文章总结: 本文复盘了一次合规XSS绕过实战。作者发现目标对关键字存在黑名单拦截,利用百分号编码制造解析差异,成功构造变体POC完成绕过。文章强调授权测试应最小化影响。拓展部分指出学习XSS需聚焦输入输出上下文与多层解析顺序,而非死记载荷,并提供了基于上下文编码、部署CSP及设置安全Cookie等具体防守建议与影响评估方法。 综合评分: 82 文章分类: WEB安全,漏洞分析,实战经验,漏洞POC,渗透测试
记一次 XSS Bypass 经验复盘
三垣网安
2026年7月24日 19:08 湖南
在小说阅读器读本章
去阅读
面向白帽学习者的合规复盘:
记录思路、边界与防护要点及其XSS学习技巧
合规说明:本文仅面向合法授权的白帽学习与安全防护研究。文中对原始测试载荷做了脱敏和概念化处理,不提供可直接复制用于攻击的绕过语句。未经授权,不要对任何真实系统进行漏洞验证或测试。
01 发现XSS测试点
发现XSS测试点,常见的闭合方式和脚本标签被拦截,单纯的闭合单引号、括号,嵌⼊的代码不会执⾏。
02 发现存在关键字拦截
经测试发现会被拦截
常见的脚本标签和简单闭合方式会被拦截。这说明系统可能对部分高风险关键字做了黑名单处理。但黑名单防护的问题在于:它往往只能覆盖已知写法,一旦输入经过编码、解析或上下文变化,就可能出现绕过空间。
因此,测试时不应只看“这个词被不被拦”,而要追问“它在哪一层被拦”。是前端拦截,还是后端拦截?是入库前处理,还是输出时过滤?是删除关键字,还是转义字符?答案不同,安全结论也不同。
03 出现乱码
尝试⽤%绕过,发现⻚⾯乱码,疑似被执⾏。
尝试某种编码变形后,页面出现乱码或异常反应。这类现象不能直接等同于漏洞成立,但它是值得关注的信号:说明输入可能没有被统一规范化,或者在不同处理环节中出现了解析差异。
对于 XSS 来说,“解析差异”往往是问题的根源之一。过滤器以一种方式理解输入,浏览器以另一种方式解析输出,两者之间只要存在缝隙,就可能让原本被认为无害的内容产生执行效果。
04 构造POC,尝试绕过
构造POC触发拦截。
‘%script x>
加%绕过
‘%script x>
绕过成功,XSS漏洞至此验证完毕。
05 证明风险,不扩大影响
在授权测试中,XSS 的验证应该尽量克制。能证明 JavaScript 可以在目标上下文中被触发即可,不需要获取 Cookie、读取用户数据或引导真实用户访问。
报告中建议写清四件事:触发位置、输入输出上下文、过滤规则的表现、以及最小化的验证结果。如果需要截图,尽量只截取触发效果和受影响页面的必要部分,不要附带敏感信息。
技术拓展:
XSS Bypass 应该怎么学
- 先学上下文,再谈绕过
XSS 的关键不是“能不能插入某个标签”,而是输入最终进入了哪种上下文:HTML 文本、属性值、JavaScript 字符串、URL 或 CSS 片段。上下文不同,防护方法也不同。
- 黑名单不是完全防护
只拦截关键字的方式很难长期有效。真正可靠的做法是根据输出上下文进行正确编码,同时结合白名单输入校验、CSP 策略和 Cookie 安全属性。
- 关注解析顺序
很多绕过问题本质上是解析顺序问题。前端、后端、WAF、模板引擎和浏览器可能对同一段输入做不同处理。学习时应该画出数据流向,标注每一层的编码、解码和过滤动作。
- 防守视角的检查清单
开发和防守方可以从以下角度检查:所有用户输入是否按上下文输出编码;富文本是否使用成熟消毒库;是否开启 CSP 并避免 unsafe-inline;敏感 Cookie 是否设置 HttpOnly、Secure 和 SameSite;历史模板页面是否仍然存在反射输出点。
- XSS 的三种常见形态
从表现形式看,XSS 通常可以分为反射型、存储型和 DOM 型。反射型常见于搜索、跳转、报错等即时回显场景;存储型常见于评论、资料、站内信、工单等会被保存后再次展示的位置;DOM 型则更多发生在前端脚本处理 URL、片段标识或页面状态时。分类不是为了背概念,而是帮助我们判断输入从哪里来、经过哪里、最后在哪里被浏览器解析。
- Payload 本质上由哪些部分组成
很多基础笔记会把 XSS payload 拆成标签、可触发属性、事件和脚本逻辑几部分。要理解这个拆分思路:标签决定浏览器进入哪种解析环境,属性决定数据如何被加载或执行,事件决定触发时机,脚本逻辑则决定影响范围。真正测试时,应优先分析上下文,而不是机械套用语句。
- XSS 常出现在哪里
只要服务器或前端把用户可控内容输出回页面,就有可能出现 XSS。常见位置包括搜索框、昵称、个人简介、评论区、富文本编辑器、文件名、错误提示、跳转参数、后台配置项和注册后的业务表单。很多问题不会出现在首页,而是藏在登录后流程、资料审核、消息通知或历史管理页面中。
- 影响评估不要只写“弹窗”
弹窗只能证明脚本执行,不代表完整影响评估。报告里更应该说明可能造成的业务风险,例如会话劫持、敏感信息读取、页面内容篡改、钓鱼诱导、越权操作辅助,或在管理后台场景下影响更高权限用户。
写在最后
XSS Bypass 不是背 payload,而是理解输入如何被处理、如何被输出,以及浏览器最终如何解析。对白帽来说,理解了XSS背后的原理才更容易挖出XSS漏洞。
关注三垣网安,学习更多网安小技巧
如果这篇复盘对你有帮助,欢迎关注、点赞、转发。后续三垣网安会继续整理 Web 安全测试、XSS 防护、白帽报告写作和实战复盘相关内容。
XSS #XSSBypass #Web安全 #白帽学习 #漏洞复盘 #输入过滤
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:三垣网安 《记一次 XSS Bypass 经验复盘》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论