
Démonstration de la vulnérabilité d'injection SQL dans WordPress 5.8.2
Ce dépôt démontre une vulnérabilité dans WordPress 5.8.2, où l'absence de nettoyage dans class-wp-tax-query.php peut, dans des situations très spécifiques, permettre à des attaquants d'effectuer une injection SQL. Notez qu'une exploitation réussie nécessite que les développeurs ajoutent du code vulnérable à l'instance WordPress, dans lequel une entrée utilisateur non nettoyée est passée à une variable $terms utilisée pour construire une fonction SQL. Voir evil.php dans le plugin "evil" inclus, et l'absence de nettoyage de la variable $terms dans get_sql_for_clause dans class-wp-tax-query.php.
Le plugin vulnérable/malveillant se trouve dans src/wp-content/plugins/evil/evil.php.
Étapes de démonstration sudo docker-compose up suivez les instructions d'installation sur localhost Activez le plugin WordPress dans le panneau d'administration (il s'appelle "evil plugin") Envoyez la requête contenue dans newexploit_req.txt au serveur nouvellement créé. Vous devriez obtenir un délai. Notez que la vulnérabilité démontrée par le plugin est une injection SQL aveugle, donc si vous voulez essayer la récupération de données, vous devrez récupérer les données soit par délais, soit par erreurs.
Notes de débogage sudo service docker restart en cas d'échec de résolution de nom Ajustez xdebug.client_host=172.19.0.1 dans xdebug.ini si nécessaire