目录导航
bypass waf
大多数 Web 应用程序防火墙 (WAF) 对发送请求正文时可以处理的数据量都有限制。这意味着对于包含请求正文的 HTTP 请求(即 POST、PUT、PATCH 等),通常只需在请求正文前面添加垃圾数据即可绕过 WAF。
当请求中填充了这些垃圾数据时,WAF 将处理最多 X kb 的请求并进行分析,但 WAF 限制之后的所有内容将直接通过。
nowafpls 是一个简单的 Burp 插件,它会将这些垃圾数据插入到中继器选项卡内的 HTTP 请求中。您可以从预设数量的垃圾数据中进行选择,也可以通过选择“自定义”选项插入任意数量的垃圾数据。
这个工具只有 80 行左右的 Python 代码,非常简单,但适用于大多数 WAF,哈哈。
记录的 WAF 数据大小限制
WAF 供应商 | 最大请求主体检查大小限制 |
---|---|
Cloudflare | 规则集引擎 128 KB,企业最高 500 MB |
AWS WAF | 8 KB – 64 KB(根据服务可配置) |
Akamai | 8 KB – 128 KB |
Azure WAF | 128 KB |
Fortinet 的 Fortiweb | 100 MB |
梭子鱼 WAF(Barracuda ) | 64 KB |
Sucuri | 10 MB |
Radware AppWall | 云 WAF 最高 1 GB |
F5 BIG-IP WAAP | 20 MB(可配置) |
Palo Alto | 10 MB |
Google 的 Cloud Armor | 8 KB(可增加至 128 KB) |
安装 nowafpls
nowafpls 是一个基于 Jython 的 Burp 插件。
- 克隆或者下载此 repo。
- 转到 Burp Suite 中的扩展选项卡。
- 点击“添加”
- 选择扩展类型 – Python
- 选择您在步骤1中下载的“nowafpls.py”

nowafpls使用方法
- 将您想要绕过 WAF 的任何请求发送到中继器选项卡。
- 将光标放在您想要插入垃圾数据的地方。
- 右键点击 -> 扩展 -> nowafpls
- 选择要插入多少垃圾数据
- 点击“确定”
nowafpls 将根据请求类型(URLEncoded/XML/JSON)自动插入垃圾数据。
演示视频
Caido 版本
该插件的 Caido 版本由@Rhynorater 维护,可以在以下要点中找到:
https://gist.github.com/Rhynorater/ace68d4976357ca0937cb4669f303306
或者在EvenBetter 工作流库中。
作者
- Shubham Shah –初始工作– github
下载地址
https://github.com/assetnote/nowafpls.zip
项目地址
GitHub:
https://github.com/assetnote/nowafpls
转载请注明出处及链接