
CVE-2021-21980
Questo repository contiene un template Nuclei ad alta affidabilità per rilevare CVE-2021-21980 (path traversal di vSphere Web Client) e un piccolo ambiente mock che riproduce il comportamento vulnerabile per test locali sicuri.
File:
cve-2021-21980.yaml: Template Nuclei con multiple varianti di codifica e matcherapp.py: Una piccola app Flask che simula la vulnerabilità di path traversal in /eam/vibDockerfile: Immagine del container per il server mock con un certificato TLS autofirmatodocker-compose.yml: Esegue il server mock in ascolto sull'host 8443requirements.txt: Dipendenze Pythoncd C:\Users\gui\Documents\hi
docker-compose up --build -d
Il server mock resterà in ascolto su https://localhost:8443 (certificato TLS autofirmato).
curl -k "https://localhost:8443/" # dovrebbe restituire VMware vSphere Web Client (mock)
curl -k "https://localhost:8443/eam/vib?id=../../../../../../../../../../etc/passwd"
Dovresti ricevere il contenuto del file mock /app/sensitive/passwd-mock.
nuclei -t cve-2021-21980.yaml -u https://localhost:8443 -insecure
Se vuoi testare molte varianti di codifica, imposta il template Nuclei per l'esecuzione con verbosità elevata.
Esegui run_local_test.ps1 che compila, attende la disponibilità ed esegue i controlli curl, oltre a Nuclei se disponibile.
powershell -ExecutionPolicy Bypass -File .\run_local_test.ps1
Installa Nuclei su Windows (rapido):
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)'
Se nuclei non è nel PATH, eseguirà solo fino ai test curl.
Se hai problemi nella creazione dell'immagine Docker, assicurati che Docker Desktop sia installato e che l'opzione 'Use the WSL 2 based engine' sia abilitata.
Se il server è vulnerabile, verrà restituito il file /etc/passwd o un file simile.
run_local_test.ps1