被 WAF 拦下的 XSS payload 怎么破:PayloadsAllTheThings 检测实战笔记
2026/8/29 10:35:55 网站建设 项目流程

被 WAF 拦下的 XSS payload 怎么破:PayloadsAllTheThings 检测实战笔记

【免费下载链接】PayloadsAllTheThingsA list of useful payloads and bypass for Web Application Security and Pentest/CTF项目地址: https://gitcode.com/GitHub_Trending/pa/PayloadsAllTheThings

场景:payload 明明正确,却被拦在门外

先说结论:XSS 检测卡在"被拦截"这一环时,多数问题不在 payload 本身,而在它和过滤规则、注入上下文的配合上。手工把alert(1)塞进参数,回显正常却死活不弹窗,是新手最常撞上的情况——请求看着没毛病,浏览器却纹丝不动。下面这套做法,来自 PayloadsAllTheThings 的 XSS 检测与 payload 绕过思路:先弄清拦你的是什么,再挑对对应的变形手法。

PayloadsAllTheThings 是什么

一句话说清:PayloadsAllTheThings 是一个按 Web 漏洞类型组织的 payload 与绕过手法合集,专给渗透测试和 CTF 备查。它能解决的问题:

  • 按漏洞类型找现成 payload 与绕过变体
  • 每种 WAF 有对应的历史绕过案例
  • 盲 XSS 等隐蔽注入点的探测思路

![javascript 伪协议 XSS 检测中 payload 绕过过滤的浏览器解析差异演示](https://raw.gitcode.com/GitHub_Trending/pa/PayloadsAllTheThings/raw/5443cbde384134094f25b1b440695757a2803d55/XSS Injection/Images/DwrkbH1VAAErOI2.jpg?utm_source=gitcode_repo_files)

快速上手:怎么在这个仓库里找 XSS 检测素材

  1. 先克隆仓库:git clone https://gitcode.com/GitHub_Trending/pa/PayloadsAllTheThings
  2. 进入XSS Injection/目录,从 README 总览 读起,再按目录跳专题页
  3. 过滤器与 WAF 的绕过集中在 XSS Filter Bypass 与 XSS Common WAF Bypass 两篇
  4. 要批量 fuzz 时,直接取Intruders/下的 txt 清单导入工具

🧪 核心技巧:三个场景化的绕过思路

编码混淆为什么能绕过滤过

  • WAF 多按明文特征匹配,浏览器却先解码再解析,两边判定存在落差
  • 敏感词拆分:换行、Tab 插进协议头,如java%0ascript:alert(1)
  • 大小写混写、HTML 实体、Unicode 变体同属这一类手法
  • 细节:WAF 不解码而浏览器解码,就形成可利用的编码差分

事件属性与注入上下文要配对

  • 事件属性负责触发,注入上下文决定 payload 外壳,两者必须匹配
  • 属性值上下文要先闭合引号再开标签;DOM 写 innerHTML 可直接给标签
  • 仓库里列了onpointeroverontoggle等冷门触发事件,可按场景替换
  • 细节:回显在 JS 字符串里时,要先闭合字符串与注释再插代码

先定界再谈利用:PoC 的正确写法

  • alert(document.domain)alert(window.origin)确认执行域
  • 这一步能区分"真漏洞"和沙箱域里的假阳性
  • 存储型场景alert弹窗烦人,换console.log输出即可
  • 细节:PoC 展示拿 cookie 或令牌的完整链路,比单纯弹窗更有说服力

🧭 检测工作流:手工三步加自动工具

  • 第一步:把注入点分类,判断参数落回 HTML 属性值、JS 字符串还是纯文本
  • 第二步:最小 payload 试探回显与转义行为,判断过滤规则强弱
  • 第三步:再换编码混淆或事件属性变体逐条验证
  • 配合 Dalfox、XSStrike 这类 XSS 漏洞检测工具扩大覆盖,报告里附手工验证过的最小 payload
  • 盲注场景走仓库里的 Blind XSS 思路:探针 + 回调,覆盖 Referer、User-Agent 等头字段

🛡 安全边界

  • 只在有书面授权的目标上测试,范围写清楚
  • 验证用无害 payload,不做真实数据外带
  • 发现问题走负责任披露流程

收束

  • 编码混淆利用的是 WAF 与浏览器解析的落差
  • 事件属性必须匹配注入上下文,别硬套
  • 先用alert(document.domain)定界,再谈利用
  • 会构造 payload 的人,才写得防御得住

【免费下载链接】PayloadsAllTheThingsA list of useful payloads and bypass for Web Application Security and Pentest/CTF项目地址: https://gitcode.com/GitHub_Trending/pa/PayloadsAllTheThings

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询