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

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

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

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

工具目录

分类

查看所有分类
Loading categories
nginx-ui-CVE-2026-42221-CVE-2026-42238- — 基于 Docker 的实验室环境,用于验证并利用 nginx-ui 中的两个未认证 API 漏洞(CVE-2026-42221、CVE-2026-42238),包含补丁版本对比及教学性分析文档。 | Kitploit
工具/GitHubGitHub/fuchiuebusi-lab/nginx-ui-cve-2026-42221-cve-2026-42238-
漏洞分析漏洞利用Web应用程序漏洞利用渗透测试学习与教育实验室与实践
GitHubfuchiuebusi-lab/nginx-ui-cve-2026-42221-cve-2026-42238-

nginx-ui-CVE-2026-42221-CVE-2026-42238-

基于 Docker 的实验室环境,用于验证并利用 nginx-ui 中的两个未认证 API 漏洞(CVE-2026-42221、CVE-2026-42238),包含补丁版本对比及教学性分析文档。

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

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

nginx-ui CVE 验证环境

nginx-ui(Nginx 的 Web GUI 管理工具)报告的两个 CVE 在 Docker 环境中进行实际验证的仓库。

  • CVE-2026-42221:未认证情况下的管理员账户劫持
  • CVE-2026-42238:未认证备份恢复导致的命令执行

免责声明
本仓库的验证内容仅针对自己管理的隔离本地环境。
未经许可对第三方系统使用类似手法将违反不正访问禁止法。


详细文章

验证过程、考察及学习内容已总结在 Qiita 文章中。

实际尝试 nginx-ui 的 CVE:「漏洞」认为是设计问题


漏洞概要

CVE概要影响版本修复版本
CVE-2026-42221安装前的 /api/install 可在无认证下访问。攻击者可先注册管理员账户v2.3.7 及之前v2.3.8
CVE-2026-42238安装前的 /api/restore 可在无认证下访问。通过注入恶意 app.ini 以 root 权限执行任意命令v2.3.7 及之前v2.3.8

两个 CVE 根本原因相同(安装前的 API 入口无防护),v2.3.8 中通过引入安装密钥方式,仅添加一个中间件就同时修复了两者。


目录结构

root@kitploit:~
.
├── nginx_lab/              # 漏洞版本 (v2.3.7) 的验证环境 → 端口 8080
│   ├── Dockerfile          # 包含避免启动循环的初始设置的镜像定义
│   ├── docker-compose.yml
│   ├── nginx.conf          # 已修正 sites-enabled / stream 块配置
│   ├── init-app.ini        # app.ini 初始模板
│   └── entrypoint.sh       # 容器启动时的初始化脚本
├── nginx_lab_patched/      # 已修复版本 (v2.3.8) 的验证环境 → 端口 8081
│   ├── Dockerfile
│   ├── docker-compose.yml
│   ├── nginx.conf
│   ├── init-app.ini
│   └── entrypoint.sh
├── scripts/
│   ├── exploit_42221.py    # CVE-2026-42221 的攻击脚本
│   ├── encrypt_password.py # RSA 加密工具
│   └── test_patched.py     # 在 v2.3.8 (端口 8081) 上确认补丁生效的脚本
├── Qiita.md                # Qiita 投稿原稿
└── 学习计划.md

前提条件

  • Docker / Docker Compose
  • Python 3.x
  • pycryptodome 库
root@kitploit:~
pip install pycryptodome

使用方法

1. 启动漏洞版本 (v2.3.7)

root@kitploit:~
cd nginx_lab
docker compose build
docker compose up -d

启动确认:

root@kitploit:~
curl http://localhost:8080/api/install
# → 返回 {"lock":false,"timeout":false} 则正常

注意点:原生的 uozi/nginx-ui:v2.3.7 镜像直接使用会进入启动循环。因为缺少 sites-enabled 等目录。本仓库的 Dockerfile 已提前准备了这些目录。

2. 复现 CVE-2026-42221

root@kitploit:~
cd scripts
python exploit_42221.py

成功后,可使用 attacker 账户登录 http://localhost:8080。

3. 启动已修复版本 (v2.3.8)

root@kitploit:~
cd nginx_lab_patched
docker compose build
docker compose up -d

v2.3.8 首次安装需要安装密钥。容器启动后查看密钥。

root@kitploit:~
docker exec nginx-ui-patched cat /etc/nginx-ui/.install_secret

在安装界面 http://localhost:8081 使用该值注册管理员。

4. 确认补丁版本无法攻击成功

root@kitploit:~
cd scripts
python test_patched.py

输出 [OK] 攻击失败(已修复) 则表示补丁正常工作。

5. 删除环境

root@kitploit:~
# 漏洞版本
cd nginx_lab
docker compose down -v

# 已修复版本
cd nginx_lab_patched
docker compose down -v
下载工具