
Prueba de concepto de exploit para CVE-2024-33911, una vulnerabilidad de inyección SQL post-autenticación en el plugin de WordPress The School Management v10.3.4, que permite la ejecución arbitraria de comandos SQL a través del endpoint admin-ajax.php.
Título del exploit: The School Management 10.3.4 - Inyección SQL posterior a la autenticación
Fecha: 29 de abril de 2024
Autor del exploit: Ivan Spiridonov (xbz0n)
Página principal del proveedor: https://the-school-management.com
Versión: 10.3.4
Probado en: Ubuntu 22.04
CVE: CVE-2024-33911
El plugin The School Management, versión 10.3.4, desarrollado por Weblizar para WordPress, es vulnerable a una inyección SQL posterior a la autenticación a través del parámetro 'order%5B0%5D%5Bdir%5D' en el endpoint /wp-admin/admin-ajax.php. Esta vulnerabilidad se debe a un escape insuficiente del parámetro proporcionado por el usuario y a la falta de preparación adecuada de la consulta SQL. Dicha vulnerabilidad permite a atacantes autenticados inyectar y ejecutar comandos SQL arbitrarios, lo que podría conducir a un acceso no autorizado o a la manipulación de la información de la base de datos.
La vulnerabilidad se encuentra en el parámetro 'order%5B0%5D%5Bdir%5D' dentro del endpoint AJAX de administración. Mediante la manipulación de este parámetro, los atacantes autenticados pueden inyectar comandos SQL, lo que da lugar a una vulnerabilidad de inyección SQL basada en tiempo.
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 respuesta del servidor se retrasa aproximadamente 20 segundos, indica una explotación exitosa de la inyección SQL basada en tiempo, confirmando la vulnerabilidad.
Se recomienda encarecidamente a los usuarios de The School Management v10.3.4 que restrinjan el acceso al endpoint afectado y actualicen el plugin a la última versión. Además, es crucial implementar comprobaciones adecuadas de validación y saneamiento de entradas. El uso de declaraciones preparadas o consultas parametrizadas para manejar comandos SQL puede ayudar a mitigar este tipo de vulnerabilidades.