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

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

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

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

工具目录

分类

查看所有分类
Loading categories
nginx-cve-2026-42945-check — 一个针对 CVE-2026-42945 (NGINX Rift) 的本地只读扫描器,用于检查 NGINX、OpenResty 和 Tengine 实例是否存在易受攻击的重写配置,而无需执行漏洞利用或修改服务。 | Kitploit
工具/GitHubGitHub/byezero/nginx-cve-2026-42945-check
静态分析漏洞扫描器漏洞分析脚本与自动化配置审计Web安全
GitHubbyezero/nginx-cve-2026-42945-check

nginx-cve-2026-42945-check

一个针对 CVE-2026-42945 (NGINX Rift) 的本地只读扫描器,用于检查 NGINX、OpenResty 和 Tengine 实例是否存在易受攻击的重写配置,而无需执行漏洞利用或修改服务。

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
查看仓库
3个月前尚未审核

NGINX CVE-2026-42945 本机检查脚本

语言:中文 | English

本仓库提供两份单机检查脚本,用于在 Linux / Windows 服务器本机排查 Nginx、OpenResty、Tengine 是否存在 CVE-2026-42945 相关风险。

脚本只做只读采集和本地判定,不执行漏洞 PoC,不发送攻击请求,不修改配置,不重启服务,不升级软件。

漏洞背景

CVE-2026-42945 又被称为 NGINX Rift,公开资料将其描述为 ngx_http_rewrite_module 中的堆缓冲区溢出问题。根据 NVD 描述,当 rewrite 指令与后续 rewrite / if / set 指令形成特定组合,并涉及未命名 PCRE 捕获变量(例如 $1、$2)以及包含问号 ? 的替换字符串时,攻击者可能通过构造 HTTP 请求触发 NGINX worker 进程中的堆缓冲区溢出。该问题可能导致 worker 进程重启;在 ASLR 关闭等特定条件下,存在代码执行风险。

NGINX 官方安全公告将 CVE-2026-42945 标记为 ngx_http_rewrite_module 的 buffer overflow,并给出 NGINX Open Source 的修复边界:

状态NGINX Open Source 版本
已修复1.31.0+ / 1.30.1+
疑似受影响0.6.27-1.30.0

发行版、商业产品、OpenResty、Tengine 或私有构建可能存在回补补丁或版本映射差异,脚本会尽量采集证据,但最终仍建议结合供应商公告人工确认。

检查目标

本工具不是漏洞利用验证工具,而是本机采集和静态配置检查工具。它重点识别以下组合:

  1. rewrite 指令的替换字符串中使用未转义的 $1、$2 等未命名捕获变量。
  2. 同一个 rewrite 替换字符串中包含未转义的 ?,形如 \? 的字面问号不会作为风险条件。
  3. 同一配置作用域内,后续存在 rewrite、if 或 set 指令。

示例风险模式:

root@kitploit:~
location ~ ^/api/(.*)$ {
    rewrite ^/api/(.*)$ /internal?endpoint=$1 last;
    set $flag 1;
}

风险不来自单独某一条 rewrite 或 set,而是版本、配置上下文和执行顺序共同形成的触发条件。命中后仍建议人工确认该配置是否为实际生效配置、是否可被外部请求触达、是否已由发行版回补修复。

文件说明

文件说明
check_nginx_linux.shLinux 本机检查脚本
check_nginx_windows.ps1Windows 本机检查脚本
README.md中文说明

能力范围

首版支持:

  • 检查本机原生安装的 Nginx / OpenResty / Tengine。
  • 采集主机信息、进程和服务信息、版本信息、编译参数、生效配置。
  • 支持同一台服务器上多个 Nginx / OpenResty / Tengine 实例逐个检查。
  • 识别 CVE-2026-42945 相关危险 rewrite 配置。
  • 输出中文控制台结果、summary.txt、summary.json 和原始证据目录。

首版不包含:

  • Docker / Kubernetes 检查。
  • 远程 SSH / WinRM 扫描。
  • 自动修复、自动升级、自动修改配置。
  • 漏洞 PoC 或攻击请求。

运行前提

建议使用管理员权限运行:

  • Linux:使用 root 或具备 sudo 权限的账号。
  • Windows:使用“以管理员身份运行”的 PowerShell。

非管理员权限下脚本会尽力采集;如果无法导出完整 nginx -T 生效配置,结果会标记为 需人工复核。

Linux 使用方法

将 check_nginx_linux.sh 上传到服务器后执行:

root@kitploit:~
chmod +x check_nginx_linux.sh
sudo ./check_nginx_linux.sh

如果无法使用 sudo,也可以直接执行:

root@kitploit:~
./check_nginx_linux.sh

Windows 使用方法

将 check_nginx_windows.ps1 上传到服务器后,使用“以管理员身份运行”的 PowerShell 执行:

root@kitploit:~
powershell -ExecutionPolicy Bypass -File .\check_nginx_windows.ps1

输出内容

脚本会在脚本所在目录生成结果目录。目录名包含主机名、时间和脚本进程 ID,避免同一秒重复执行时混写证据。

root@kitploit:~
nginx_check_<主机名>_<时间>_<进程ID>/
  summary.txt
  summary.json
  raw/
    host_info.txt
    process_info.txt
    service_info.txt
    package_info.txt
    nginx_paths.txt
    instances/
      instance_01/
        nginx_invocation.txt
        nginx_version.txt
        nginx_build.txt
        nginx_config_dump.txt
        risky_config_matches.txt
      instance_02/
        ...
文件或目录说明
summary.txt中文摘要,适合人工查看和回传
summary.json结构化结果,便于后续批量汇总
raw/原始命令输出和证据文件

摘要中会记录:

如果 Nginx 配置很多,脚本不会在控制台打印完整配置;完整生效配置保存在对应实例目录的 nginx_config_dump.txt。当配置导出文件超过 10 MB 时,脚本会继续自动扫描,并提示建议结合 raw/ 结果进行人工抽查。

多实例处理

如果服务器发现多个 nginx、openresty、tengine 候选可执行文件,脚本会逐个检查并生成实例明细。

总摘要中的结论取最高风险实例。整体结论采用保守优先级:

  1. 受影响有风险配置
  2. 需人工复核
  3. 受影响无风险配置
  4. 不受影响
  5. 未安装Nginx

其中 需人工复核 高于 受影响无风险配置,表示存在未确认实例需要继续核实,并不等同于已确认存在危险配置。

检查结论

版本判定

发行版可能存在“版本号较旧但已回补补丁”的情况。如能提供厂商补丁证明,可结合 summary.txt 和包版本信息进行人工确认。

处置建议

  • 优先升级到官方或发行版供应商发布的修复版本。
  • 对公网入口、反向代理入口、边界负载均衡实例优先复核。
  • 检查所有 location、server、if 等上下文中的 rewrite / if / set 组合。
  • 避免在包含 ? 的 rewrite 替换字符串中继续使用 $1、$2 等未命名捕获变量。
  • 可考虑改用命名捕获、提前保存变量、拆分处理逻辑,或移除不必要的 query string rewrite。
  • 不要只依赖版本判断,配置是否包含触发序列同样关键。

限制

  • 本工具是本机只读检查脚本,不等同于漏洞利用验证。
  • 静态配置扫描可能存在误报,需要结合实际 NGINX 上下文人工复核。
  • 如果 nginx -T 无法完整导出配置,脚本不会判定为安全。
  • OpenResty / Tengine / 私有构建的版本影响关系默认需要人工复核。
  • 扫描不到风险不代表绝对安全,仍建议升级到官方或发行版供应商确认的修复版本。

参考资料

  • NGINX Security Advisories
  • NVD: CVE-2026-42945
  • F5 Advisory K000161019
  • depthfirst: NGINX Rift
下载工具
README.en.mdEnglish README
raw/instances/instance_XX/每个实例的独立版本、配置和风险证据
字段说明
实例数量本机发现并逐个检查的 Nginx / OpenResty / Tengine 候选实例数量
配置大小nginx -T 导出的原始配置结果文件大小
扫描行数脚本实际扫描的配置输出行数
危险配置命中数量命中的危险 rewrite 规则数量
证据摘要最高风险实例的证据预览,完整证据见对应实例目录
结论含义
未安装Nginx未发现 Nginx / OpenResty / Tengine 命令、进程或服务
不受影响明确为修复版本,且未发现危险配置
受影响无风险配置版本疑似受影响,但未发现危险 rewrite 配置
受影响有风险配置版本疑似受影响或衍生版本需复核,且发现危险 rewrite 配置
需人工复核版本未知、衍生版本、配置采集失败、权限不足或证据不足
产品版本判断
NGINX 1.31.0+已修复,脚本显示为 已修复(mainline)
NGINX 1.30.1+已修复,脚本显示为 已修复(stable)
NGINX 0.6.27-1.30.0疑似受影响
OpenResty / Tengine可采集版本和配置,但版本影响关系默认需要人工复核