
Exploit de preuve de concept pour CVE-2024-33911, une vulnérabilité d'injection SQL post-authentifiée dans le plugin WordPress The School Management v10.3.4, permettant l'exécution de commandes SQL arbitraires via le point de terminaison admin-ajax.php.
Titre de l'exploit : The School Management 10.3.4 - Injection SQL post-authentifiée
Date : 29 avril 2024
Auteur de l'exploit : Ivan Spiridonov (xbz0n)
Page d'accueil du fournisseur : https://theschool-management.com
Version : 10.3.4
Testé sur : Ubuntu 22.04
CVE : CVE-2024-33911
Le plugin The School Management, version 10.3.4, développé par Weblizar pour WordPress, est vulnérable à une injection SQL post-authentification via le paramètre 'order%5B0%5D%5Bdir%5D' dans le point de terminaison /wp-admin/admin-ajax.php. Cette vulnérabilité résulte d'un échappement insuffisant du paramètre fourni par l'utilisateur et d'un manque de préparation appropriée de la requête SQL. Une telle vulnérabilité permet à des attaquants authentifiés d'injecter et d'exécuter des commandes SQL arbitraires, ce qui pourrait conduire à un accès non autorisé ou à une manipulation des informations de la base de données.
La vulnérabilité se trouve dans le paramètre 'order%5B0%5D%5Bdir%5D' au sein du point de terminaison AJAX d'administration. En manipulant ce paramètre, des attaquants authentifiés peuvent injecter des commandes SQL, conduisant à une vulnérabilité d'injection SQL basée sur le temps.
POST /wp-admin/admin-ajax.php HTTP/1.1
Host: localhost
[Additional Headers]
draw=3&[Other Parameters]&order%5B0%5D%5Bdir%5D=asc%2c(select*from(select(sleep(20)))a)
Si la réponse du serveur est retardée d'environ 20 secondes, cela indique une exploitation réussie de l'injection SQL basée sur le temps, confirmant la vulnérabilité.
Il est fortement recommandé aux utilisateurs de The School Management v10.3.4 de restreindre l'accès au point de terminaison affecté et de mettre à jour le plugin vers la dernière version. De plus, il est crucial de mettre en œuvre des contrôles appropriés de validation et d'assainissement des entrées. L'utilisation de requêtes préparées ou paramétrées pour traiter les commandes SQL peut aider à atténuer ces vulnérabilités.