edgecases-PurpleHax/cve-images

GitHub: edgecases-PurpleHax/cve-images

一套基于 Docker 的蓄意漏洞实验镜像集合,主要用于在隔离环境中复现和研究 nginx CVE 及常见 Web 应用漏洞。

Stars: 1 | Forks: 0

# cve-images — 蓄意制作的漏洞实验镜像 这是一个专为在独立实验环境中进行安全研究而收集的**蓄意制作的漏洞** Docker 镜像集合。它最初是作为 nginx CVE 复现开始的,现在正逐渐发展为一个更广泛的、按设计包含漏洞的镜像集合(例如 DVWA)。 ## nginx CVE 镜像 所有镜像都建立在共享基础镜像之上,该镜像会**从源码编译 nginx 1.30.0** —— 这是受这些 CVE 影响的最后一个版本(已在 1.30.1 / 1.31.0 中修复)。 | 目录 | 镜像 | CVE | 模块 / 区域 | |---|---|---|---| | `base/` | `rwils83/nginx-vuln-base:1.30.0` | — | 共享的 nginx 1.30.0 源码构建 | | `cve-2026-42945-rewrite-lab/` | `rwils83/cve-2026-42945` | CVE-2026-42945 | rewrite 模块堆溢出 (RCE) | | `cve-2026-42946-scgi-uwsgi-lab/` | `rwils83/cve-2026-42946` | CVE-2026-42946 | scgi/uwsgi 缓冲区越界读取 | | `cve-2026-40701-resolver-lab/` | `rwils83/cve-2026-40701` | CVE-2026-40701 | resolver 释放后使用 (OCSP) | | `cve-2026-42934-charset-lab/` | `rwils83/cve-2026-42934` | CVE-2026-42934 | charset 模块缓冲区越界读取 | ## 应用程序镜像 | 目录 | 镜像 | 备注 | |---|---|---| | `dvwa-curl-lab/` | `rwils83/dvwa_with_curl` | 维护中的 DVWA (`ghcr.io/digininja/DVWA`) + curl/python3 | 每个文件夹都有自己的 `README.md`,其中包含详细信息和参考资料。 ## 本地构建 必须首先构建 nginx 基础镜像(各个 CVE 镜像的 `FROM` 都指向它): ``` docker build -t rwils83/nginx-vuln-base:1.30.0 ./base docker build -t rwils83/cve-2026-42945:1.30.0 ./cve-2026-42945-rewrite-lab docker build -t rwils83/cve-2026-42946:1.30.0 ./cve-2026-42946-scgi-uwsgi-lab docker build -t rwils83/cve-2026-40701:1.30.0 ./cve-2026-40701-resolver-lab docker build -t rwils83/cve-2026-42934:1.30.0 ./cve-2026-42934-charset-lab docker build -t rwils83/dvwa_with_curl:latest ./dvwa-curl-lab ``` `./build_all.sh` 用于构建 nginx 系列(基础镜像 + 4 个 CVE 镜像)。 ## 发布 (GitHub Actions → Docker Hub) CI 会在每次 PR/push 时构建每个 `*-lab/` 镜像(仅构建,不推送),以便在合并前发现破坏性问题。发布操作由 git 标签驱动: | 标签格式 | 构建并推送 | 应用的标签 | |---|---|---| | `v*` (例如 `v1.30.0-lab.2`) | 四个 nginx CVE 镜像 | `` + `:latest` | | `dvwa-v*` (例如 `dvwa-v1`) | `dvwa_with_curl` | `` + `:latest` | ``` git tag v1.30.0-lab.2 && git push --tags # release the nginx images git tag dvwa-v1 && git push --tags # release DVWA ``` 发布需要仓库密钥 `DOCKERHUB_USERNAME` 和 `DOCKERHUB_TOKEN`。
标签:Cutter, Nginx, OPA, 漏洞复现, 请求拦截, 靶场