
PoC público para CVE-2025-25257: SQLi pre-autenticación a RCE en FortiWeb
Aviso legal: Esta prueba de concepto (PoC) se proporciona únicamente para fines autorizados de pruebas de seguridad e investigación. El uso no autorizado contra sistemas que no posea o para los cuales no tenga permiso explícito para realizar pruebas es ilegal. Los usuarios son responsables de cumplir con todas las leyes y regulaciones aplicables.
es una vulnerabilidad crítica en Fortinet FortiWeb, un cortafuegos de aplicaciones web, dentro de su componente Fabric Connector. Permite a los atacantes ejecutar comandos arbitrarios del sistema sin autenticación, lo que supone un grave riesgo de compromiso total del sistema.
| Rango de versión | Estado |
|---|---|
| 7.6.0 – 7.6.3 | Vulnerable |
| 7.4.0 – 7.4.7 | Vulnerable |
| 7.2.0 – 7.2.10 | Vulnerable |
| 7.0.10 y anteriores | Vulnerable |
Esta vulnerabilidad se origina por un manejo inseguro del encabezado HTTP Authorization: Bearer <token> en la función get_fabric_user_by_token(). Debido a una insuficiente sanitización de la entrada, los atacantes pueden inyectar comandos SQL maliciosos (Inyección SQL, CWE-89).
Impacto:
SELECT ... INTO OUTFILE de MySQL, los atacantes pueden escribir archivos maliciosos (por ejemplo, webshells o scripts de Python) en el servidor, lo que permite el control total del sistema.Archivos incluidos:
CVE-2025-25257.py - Script de exploit en PythonREADME.md - Documentación completaexploit_workflow.svg - Diagrama del flujo de ataqueEl exploit sigue estos pasos, como se ilustra en el diagrama Mermaid a continuación (renderizado nativamente en GitHub) y en la imagen estática exploit_workflow.svg:
graph TD
A[Atacante] --> B[Endpoint objetivo]
B --> C[Inyección SQL]
C --> D[Creación de webshell]
D --> E[Ejecución de comandos]
E --> F[Compromiso del sistema]/api/fabric/device/status.webshell.php) en el servidor.User-Agent a la webshell, ejecutando comandos arbitrarios del sistema.| Acción | Detalles |
|---|---|
| Aplicar parche inmediatamente | Actualizar a una versión corregida: 7.6.4+, 7.4.8+, 7.2.11+, o 7.0.11+ |
| Mitigación temporal | Restringir o deshabilitar el acceso a la interfaz de administración HTTP/HTTPS |
| Detección | - Monitorizar los encabezados Authorization en busca de sintaxis SQL- Usar IDS/IPS para detectar intentos de inyección SQL en /api/fabric/device/status- Buscar archivos inesperados (por ejemplo, .php, .py o scripts CGI) |
Referencias:
Esta herramienta es solo para fines autorizados de pruebas de seguridad e investigación. Asegúrese de tener permiso explícito para probar el sistema objetivo.
requests, argparsepip install requestspython3 cve_2025_25257.py -t https://ip-objetivo
| Opción | Descripción |
|---|---|
-t | URL objetivo (por ejemplo, https://ip-objetivo) |
-T | Archivo que contiene múltiples URLs objetivo |
--proxy | Enrutar el tráfico a través de un proxy (por ejemplo, http://127.0.0.1:8080) |
Post-explotación: Tras una explotación exitosa, el script muestra la URL de la webshell (por ejemplo, https://ip-objetivo/webshell.php). Se pueden enviar comandos a la webshell a través del encabezado User-Agent usando herramientas como curl o un navegador.
python3 cve_2025_25257.py -t https://192.168.1.100 --proxy http://127.0.0.1:8080
Salida: Si tiene éxito, el script mostrará:
[+] Webshell desplegada en: https://192.168.1.100/webshell.php
[+] Envíe comandos mediante el encabezado User-Agent, por ejemplo, `curl -A "whoami" https://192.168.1.100/webshell.php`
CVE-2025-25257 es una vulnerabilidad grave y fácilmente explotable en FortiWeb que permite a atacantes no autenticados obtener el control total del sistema. Es crítico aplicar parches de inmediato, y las organizaciones deben monitorear en busca de signos de explotación.
Ayudas visuales: El diagrama Mermaid anterior se renderiza de forma nativa en GitHub. El archivo estático exploit_workflow.svg (incluido en el repositorio) proporciona el mismo flujo de trabajo para visualización sin conexión o presentaciones, con gráficos vectoriales escalables para una representación de alta calidad.