Agent Skills
返回列表
🔒

WAF 绕过技术清单

IT 运维与安全 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/waf-bypass-zrgd

技能介绍

要解决什么问题

在 Web 应用渗透测试中,写好的 payload 经常被 WAF 直接拦截:SQL 注入被规则拦下、XSS 触发了挑战页面、扫描器被 TLS 指纹识别为自动化工具。结果是漏洞是否真实存在无法验证,测试卡在 WAF 这一层。这个技能要解决的就是「如何系统地绕过 WAF 完成测试」这个具体问题。

技能如何工作

核心是一份按序执行的 checklist,分为三个阶段:

1. 指纹识别

先确认目标用的是什么 WAF,再选对应的绕过手段:

  • 检查响应头、cookies(如 Cloudflare 的 cf_clearance、AWS 的 AWSALB)和特殊路由(/cdn-cgi/)
  • 分析控制台注入的 JS 对象(如 _cf_chl_opt)
  • 对比 JA3/JA4 TLS 指纹,判断是否因指纹异常被拦截
  • 覆盖 Cloudflare、Akamai、AWS WAF、Imperva、ModSecurity、NAXSI 等常见 WAF

2. 通用规避与协议层绕过

  • 使用住宅 IP 轮换替代容易被识别的数据中心 IP
  • 用 undetected_chromedriver、playwright-extra stealth 插件伪装 headless 浏览器
  • 修改 TLS 握手参数对齐真实浏览器指纹(如 noble-tls、ja4py)
  • HTTP 层面的手法:方法名大小写混淆、X-Forwarded-For 等伪造头、Host header 欺骗、HTTP Parameter Pollution、利用 CRLF 等 RFC 解析不一致

3. Payload 变形

针对 SQLi 和 XSS 给出针对性变形技巧:

  • SQLi:大小写变化(SeLeCt)、注释插入(UN/**/ION)、URL/Hex/Unicode/双重编码、CONCAT() 拼接、SQLMap tamper 脚本组合
  • XSS:context-aware payload、mXSS 利用解析器差异、polyglot、CSP 绕过(JSONP 滥用、DOM clobbering)

另外还包括直连源站的思路:通过 Shodan 或 CloudFlair 找到源站 IP 绕过 WAF 层,以及针对 Cloudflare Turnstile 的求解工具。

适用边界

  • 仅适用于授权范围内的安全测试,所有绕过手段都应在合法授权下使用
  • 没有任何单一方法对所有 WAF 有效,需要按目标指纹逐一试验并记录结果
  • 清单中部分第三方工具和 PoC 更新不及时,实际效果需要自行验证
  • WAF 规则和反自动化手段在持续演进,这份清单是起点而非终点

使用场景

  • 渗透测试中 SQL 注入 payload 被 WAF 拦截,需要逐一尝试编码、注释插入、大小写变形等手法确认注入点是否真实存在
  • 扫描器触发 Cloudflare 机器人挑战或 TLS 指纹拦截,需要伪装浏览器指纹与行为后继续完成站点探测
  • 存储型 XSS 的 payload 被 WAF 按黑名单过滤,需要根据插入上下文构造变形 payload 或利用 mXSS 验证漏洞
  • 目标全站启用 WAF 且疑似存在源站暴露,需要通过 Shodan、CloudFlair 定位源站 IP 绕过防护层直接测试

适合人员

  • Web 渗透测试工程师:在授权测试中 payload 被 WAF 拦截,需要一份按指纹识别到 payload 变形的系统化 checklist
  • 红队研究员:针对特定 WAF 厂商验证绕过手法,输出技术研究或防御加固建议
  • 防御工程师:了解攻击者如何变形 payload 与伪造 TLS 指纹,据此评估现有 WAF 规则的盲区
  • 自动化脚本开发者:爬虫或测试脚本被反自动化机制识别拦截,需要反检测技巧恢复运行