Nginxpwner 是一个简单的工具,用于查找常见的 Nginx 配置错误和漏洞。
作者:Sec-Labs | 发布时间:
项目地址
https://github.com/stark0de/nginxpwner
Nginxpwner
Nginxpwner 是一个简单的工具,用于查找常见的 Nginx 配置错误和漏洞。
安装
cd /opt
git clone https://github.com/stark0de/nginxpwner
cd nginxpwner
chmod +x install.sh
./install.sh
使用 Docker 安装
git clone https://github.com/stark0de/nginxpwner
cd nginxpwner
sudo docker build -t nginxpwner:latest .
运行镜像
sudo docker run -it nginxpwner:latest /bin/bash
使用方法
在 Burp 的目标选项卡中,选择主机,右键单击,在此主机中复制所有 URL,复制到文件中。
cat urllist | unfurl paths | cut -d"/" -f2-3 | sort -u > /tmp/pathlist
或以其他方式获取您已在应用程序中发现的路径列表。注意:路径不应以 / 开头。
最后:
python3 nginxpwner.py https://example.com /tmp/pathlist
注
它实际上会检查以下内容:
- 获取 Ngnix 版本并检索其可能的漏洞,使用 searchsploit,告诉您是否过时。
- 通过 gobuster 抛出专用于 Nginx 的字典。
- 检查是否容易受到 CRLF 攻击,因为在重定向中使用了 $uri 的常见错误配置。
- 检查所有提供的路径中是否有 CRLF。
- 检查外部是否可以使用 PURGE HTTP 方法。
- 检查变量泄漏配置。
- 通过将 merge_slashes 设置为 off,检查路径遍历漏洞。
- 在使用跳跃头(例如:X-Forwarded-Host)时,测试响应长度的差异。
- 使用 Kyubi 检查通过错误的别名配置的路径遍历漏洞。
- 使用 X-Accel-Redirect 测试 401/403 绕过。
- 显示检查 Raw 后端读取响应配置的有效载荷。
- 检查网站是否使用 PHP,并为 PHP 网站建议一些 nginx 特定的测试。
- 在 Nginx 的范围过滤器模块中测试常见的整数溢出漏洞(CVE-2017-7529)。
该工具使用响应中的 Server 标头来执行某些测试。还有其他建立在 Nginx 上的 CMS 和服务,例如 Centminmod、OpenResty、Pantheon 或 Tengine,它们不会返回该标头。在这种情况下,请使用 nginx-pwner-no-server-header.py 并使用与其他脚本相同的参数。
此外,为了使漏洞检索正确运行,您应该时不时运行 searchsploit -u 在 Kali 中。
该工具不检查 Web 缓存毒化/欺骗漏洞或请求走私漏洞,您应该使用专门针对这些漏洞的工具进行测试。NginxPwner 主要关注开发人员可能在 nginx.conf 中引入的配置错误,而不会意识到这些错误。
标签:工具分享