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 中引入的配置错误,而不会意识到这些错误。

标签:工具分享