☰
WAF拦不住你?hack-skills中的Cloudflare/Akamai/ModSecurity厂商级绕过矩阵
2026/10/7 1:20:40 网站建设 项目流程

WAF拦不住你?hack-skills中的Cloudflare/Akamai/ModSecurity厂商级绕过矩阵

【免费下载链接】hack-skillsHelping AI Agent become an awesome practical hacker!项目地址: https://gitcode.com/gh_mirrors/ha/hack-skills

在 WAF 绕过 实战中,新手最常遇到的困境就是:Payload 一发出去就 403。而 hack-skills 这个开源安全技能知识库,正好收录了一套完整的WAF 绕过矩阵——它把 Web 安全、API 安全、二进制利用等 14 个领域的 101 个深度技能整理成可检索的 Playbook,其中 waf-bypass-techniques 技能专门解决"注入请求被 Web 应用防火墙拦截"这个问题,并给出 Cloudflare、Akamai、ModSecurity 等厂商的定向绕过手法。

为什么 WAF 拦不住一切?

🛡️WAF(Web 应用防火墙)部署在应用前面,靠规则匹配来拦截攻击。听起来很稳,但它有一个天然短板:

WAF 看到的流量,和应用解析后的流量,往往不是同一个东西。

WAF 只做一次解码(或不解码),而后端应用可能解码两遍;WAF 按 form 表单解析请求体,而应用可能同时接受 JSON——规则对不上,绕过就出现了。hack-skills 的 SKILL.md 把这类"解码差"技巧系统归纳成了四类:

  • 编码绕过:双重 URL 编码、Unicode 编码、HTML 实体、大小写混合(SeLeCt)、十六进制 SQL 字面量
  • 协议层绕过:分块传输(Chunked)把 Payload 拆散、HTTP/2 二进制帧、请求行用绝对 URI
  • 路径规范化技巧:/./path、双斜杠、Tomcat 的分号参数、Windows 末尾点号
  • Content-Type 切换:把 form-urlencoded 换成 JSON 或 multipart,WAF 的解析器规则往往更弱

⚠️ 核心认知:WAF 是多层防御中的一层,不是修复本身。理解了这一点,你就知道为什么要"先识别、再定向绕过"。

第一步:如何识别你面对的是哪家 WAF

绕过的前提是知己知彼。WAF 识别方法 很简单,三步走:

方法看什么
指纹工具wafw00f或 Nmap 脚本,从响应头自动识别厂商
响应头排查cf-ray(Cloudflare)、x-sucuri-id(Sucuri)、x-akamai-*(Akamai)、__cf_bmCookie
行为指纹先发一个正常请求记录基线,再发一个明显攻击(如<script>alert(1)),看是 403、自定义拦截页还是连接重置——拦截页文案往往直接暴露厂商

拿到厂商名后,就该切换到厂商专属的矩阵了。👇

厂商级 WAF 绕过矩阵:三家高频厂商拆解

完整的厂商矩阵在 WAF_PRODUCT_MATRIX.md 中,覆盖 Cloudflare、AWS WAF、ModSecurity CRS、Akamai、Imperva、F5 BIG-IP、Sucuri 共 7 家。这里挑实战中最高频的三家精讲。

Cloudflare WAF 绕过:全角字符与源站直连

🎯 Cloudflare 的两个特征弱点:

  • Unicode 规范化差异:WAF 归一化的方式和后端不一样,全角字符<script>可能穿过 WAF,却被浏览器渲染成真正的<script>
  • 免费规则集很弱:免费档的规则远少于付费档,且"托管规则"和"OWASP CRS 规则"是两套体系,绕过面不同
  • 超长参数名:参数名超过 128 字符时可能被直接跳过检测
  • 终极杀招:发现源站真实 IP(历史 DNS、邮件头、证书信息),直连源站——WAF 直接被绕过

ModSecurity + OWASP CRS 绕过:Paranoia Level 是最大漏洞

  • PL1 规则极少:CRS 的 Paranoia Level 1(默认档)只含最小规则集,绝大多数部署都跑在 PL1-2,漏掉大量攻击模式
  • MySQL 条件注释:/*!50000UniOn*/SeLeCt这类按版本生效的注释,能绕过许多 CRS SQLi 规则
  • 异常评分制:单条规则违规只是累加分数,不到阈值就不拦——可以把单次违规压在检测线以下
  • 请求体限制差:文件上传字段的SecRequestBodyNoFilesLimit默认只有 128KB,而总限制是 13MB,Payload 藏在上传字段里可能整段不检查

Akamai WAF 绕过:编码链 + 慢速投递

  • 三重/混合编码:URL + Unicode + HTML 实体叠加,Akamai 的解码链跟不上
  • Slow POST:拖慢发送速度,基于超时的保护可能只做了不完整检测
  • 自适应引擎的"学习空窗":Akamai 会学习正常行为,全新的攻击模式在模型学不会之前,恰好有绕过窗口
  • 注意惩罚箱:触发一次后你的 IP 会被限流几分钟,测试要轮换干净 IP

一张速查表:各家 WAF 的最大软肋

WAF首选绕过向量检查上限关键弱点
CloudflareUnicode 归一化 + 源站 IP128KB全角字符、免费档规则缺口
ModSecurity CRSPL1 规则缺口 + MySQL 注释可配置默认低警戒等级
Akamai编码链 + 慢速 POST视配置自适应引擎学习延迟
Imperva参数污染 + JSON 深嵌套未知重复参数只检其一
F5 BIG-IP序列化数据 + 学习模式可配置序列化检测薄弱
Sucuri源站 IP + 冷门标签未知规则偏 WordPress 场景

完整的绕过决策树(编码 → 协议层 → 路径层 → Payload 变形 → IP 伪造 → 请求走私)在 SKILL.md 的第 4 节,建议按树逐层排查,不要一上来就堆 Payload。

配套技能:绕过 WAF 之后打什么?

hack-skills 的技能是可组合的,WAF 绕过只是第一关,之后自然衔接:

  • 绕过之后送 Payload:sqli-sql-injection、xss-cross-site-scripting
  • 把请求整体绕开 WAF:request-smuggling(请求走私可以完全跳过 WAF)、http-parameter-pollution(HPP 本身就是 WAF 绕过原语)
  • 所有编码技巧都失效时(Java 后端):ghost-bits-cast-attack——利用 Java 16 位char收窄成 8 位byte,每个危险字节产生 255 种 Unicode 变体

防御视角:怎么让 WAF 真正拦得住

📌 同样的技巧反过来看就是加固清单(来自 SKILL.md 第 6 节):

措施说明
WAF + 应用层输入校验WAF 是一层,不是修复本身
参数化查询无论 WAF 如何,SQLi 直接失效
CSP + 输出编码无论 WAF 如何,XSS 直接失效
默认拒绝而非黑名单用白名单放行合法输入
记录并告警每次拦截绕过尝试在日志里全都看得见

如何获取这套 WAF 绕过矩阵?

克隆 hack-skills 仓库即可离线阅读全文:

git clone https://gitcode.com/gh_mirrors/ha/hack-skills

拿到之后重点看这两个文件:

  • 通用方法论与决策树:skills/waf-bypass-techniques/SKILL.md
  • 七家厂商定向绕过矩阵:skills/waf-bypass-techniques/WAF_PRODUCT_MATRIX.md

💡 提示:WAF 绕过只在授权范围内的渗透测试、漏洞赏金、CTF 和防御加固中使用。识别出拦截你的 WAF 是哪一家,再从矩阵里取对应的手法——这就是厂商级矩阵的价值。

【免费下载链接】hack-skillsHelping AI Agent become an awesome practical hacker!项目地址: https://gitcode.com/gh_mirrors/ha/hack-skills

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

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

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

立即咨询