news 2026/7/4 8:30:46

记一次 XSS Bypass 实战——当 WAF 拦住了你的

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
记一次 XSS Bypass 实战——当 WAF 拦住了你的

前言

在 Bugcrowd 上挖洞,最怕的不是找不到漏洞点,而是找到了漏洞点却被 WAF 无情拦截。本文记录一次某目标主站 XSS 漏洞的完整挖掘与 Bypass 过程,从寻找输入输出点到最终成功弹窗,希望能给正在做漏洞挖掘的师傅们一些思路。


一、寻找漏洞点

1. 扩大攻击面

拿到目标后,首先不要只盯着主站首页。我的习惯是先用爬虫工具(如rad)结合 JS 审计,尽可能多地构造请求和参数,寻找一切可能的输入输出点。

2. 判断漏洞点

找到疑似注入点后,先不急着上 payload,而是做闭合测试

测试 1:标签闭合

</div> xx

观察页面是否正常闭合,如果xx逃逸到了标签外,说明存在 HTML 注入的可能。

测试 2:HTML 标签渲染

"><input style="width:200px;height:200px;background:red">

如果页面出现了红色区域,说明输入点可以渲染 HTML 标签,XSS 有戏。


二、初探 WAF

构造一个经典的 XSS POC:

1"><details/open/ontoggle=alert(1)>

结果直接触发 WAF 拦截。看来目标对敏感事件做了防护,简单粗暴的 payload 行不通。


三、Bypass 之路:从 Fuzz 到精准打击

1. Fuzz 敏感关键字

WAF 拦截不可怕,可怕的是不知道它拦了什么。我的方法很笨但有效:逐个关键字测试

通过 Burp Suite 发送大量包含不同事件、标签的请求,观察哪些被拦截。经过一轮 fuzz,发现目标对常规事件处理器(如onclickonerroronload等)比较敏感。

2. 收集冷门事件

既然常见事件被杀了,那就找"冷门"的。我整理了 HTML 元素的事件列表(参考 MDN 和前辈们的博客),保存为events.txt,用 Burp Intruder 批量遍历。

参考资源:

  • HTML 事件属性大全

  • HTML 事件整理

3. 发现突破口:onbounce

经过一段时间的尝试,发现onbounce事件没有被拦截!

onbounce是什么?怎么用?查了一下 MDN,发现它是<marquee>标签的专属事件,当内容在 marquee 中反弹时触发。

Marquee 元素 - MDN


四、最终 POC

参考 MDN 示例,构造如下 payload:

12"><marquee behavior="alternate" onbounce=alert(document.cookie)> This text will bounce </marquee>

效果:页面加载后,marquee 内容开始滚动,触碰到边界反弹时,延迟几秒钟后成功弹窗


五、踩坑总结

  1. WAF 规则不是万能的:它拦住了常见事件,但拦不住冷门标签+冷门事件的组合。

  2. MDN 是最好的字典:当你不知道某个 HTML 元素有什么事件时,去 MDN 查,往往有意外收获。

  3. 浏览器兼容性问题:这个 POC只能在 Firefox 中触发,Chrome 等浏览器可能不支持onbounce事件。实战提交漏洞时记得注明环境。


结语

XSS Bypass 的核心思路永远是:它认识<script>,但不一定认识<marquee>。多积累冷门标签和事件,配合 fuzz 和耐心,WAF 并非不可逾越。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/4 3:10:23

《Claude Code 工程化实战》第 3 讲 CLAUDE.md 记忆系统

&#x1f4cc; 本讲摘要 本讲是"记忆层"的第一讲、核心目的是把"Claude Code 没记忆、所以每次都从零开始"这个根本问题讲透。Claude Code 的记忆系统由四个层级组成、按优先级从低到高是&#xff1a;用户级&#xff08;~/.claude/CLAUDE.md&#xff09;、…

作者头像 李华
网站建设 2026/7/4 0:54:56

【锦图简历】程序对简历扫描件的识别流程

在做简历上传功能时&#xff0c;我低估了一个场景&#xff1a;扫描件 PDF——用户从 scanner 或微信保存的 PDF&#xff0c;肉眼看正常&#xff0c;文本层却是空的。此时 pdf-parse 一类库几乎抽不出字&#xff0c;用户却认为「我上传没问题」。 下面是我们在线上用的 分层提取…

作者头像 李华
网站建设 2026/7/4 3:29:16

机器人顶刊T-RO收录!同济大学:扔掉标定板,实现全自动在线对齐

端到端在线标定并非天然缺乏泛化能力&#xff0c;真正的瓶颈在于训练数据构造与网络设计 ——自监督、在线、免目标 目录 01 无需依赖标定板、自监督的激光雷达–相机在线外参标定框架 02 深入剖析&#xff1a;端到端 LiDAR-Camera 在线标定网络的泛化瓶颈 双分支网络…

作者头像 李华