## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-HAMID-K-NGINX-RIFT-PRIVATE-LAB
# NGINX Rift
针对 **CVE-2026-42945** 的 RCE 概念验证,这是 NGINX 的 `ngx_http_rewrite_module` 中一个严重堆缓冲区溢出漏洞,于 2008 年引入。该漏洞使得攻击者能够对使用了 `rewrite` 和 `set` 指令的服务器进行未经认证的远程代码执行。
本分支扩展了原始 PoC,引入了一条绕过 ASLR 的攻击链,它将 NGINX 溢出漏洞与常见的同主机 LFI/任意文件读取原语相结合。文件读取原语用于恢复 nginx 工作进程映射、libc 以及实时的 `/proc/<worker>/mem`,然后远程推导出 `system()` 地址和可用的堆目标。
该实验室的早期版本会故意让 nginx 工作进程崩溃,使服务写入核心转储文件,然后通过文件读取原语获取并解析该核心转储,以恢复包含 ASLR 敏感信息的进程状态(包括堆目标)。在本仓库中,**coreless** 仅仅是“无需可读的崩溃核心转储”的简称:当前默认路径用实时 procfs 内存读取替代了崩溃核心依赖,而保留的旧版 **core-guided** 路径仍然使用生成的工作进程核心转储。
该漏洞——以及另外三个内存损坏问题(CVE-2026-42946、CVE-2026-40701、CVE-2026-42934)——是由 depthfirst 的安全分析系统在单次接入 NGINX 源代码后自主发现的。
> 想在自己的代码中找出此类问题吗?请在同系统尝试 **https://depthfirst.com/open-defense** 。
## 漏洞简介(TL;DR)
NGINX 的脚本引擎采用两阶段处理:首先计算所需的缓冲区大小,然后复制数据。`is_args` 标志在 `rewrite` 替换包含 时在主引擎上设置,但长度计算阶段在已清零的子引擎上运行。因此: