
PoC para Silverpeas <= 6.4.2 Enumeración de Usuarios
Script de prueba de concepto para demostrar una vulnerabilidad de enumeración de nombres de usuario en las versiones 6.4.1 y 6.4.2 de Silverpeas.
Resumen: La vulnerabilidad existe en la funcionalidad de recuperación de contraseña (endpoint /silverpeas/CredentialsServlet/ForgotPassword). Al enviar solicitudes POST con posibles nombres de usuario en el parámetro Login, el servidor responde con diferentes códigos de estado HTTP (200 OK para usuarios válidos, 302 Found para usuarios no válidos). Esta discrepancia permite a un atacante remoto no autenticado determinar nombres de usuario válidos en el sistema.
silverpeas_enum_poc.pyrequests (pip install requests)Clona el repositorio o descarga el script (silverpeas_enum_poc.py).
Instala las dependencias: pip install requests
Ejecuta el script desde tu terminal:
Probar un único nombre de usuario:
python silverpeas_enum_poc.py <TARGET_URL> -u <USERNAME>
Ejemplo: python silverpeas_enum_poc.py http://vulnerable-silverpeas.local -u admin
Probar nombres de usuario desde un archivo:
python silverpeas_enum_poc.py <TARGET_URL> -w <WORDLIST_FILE>
Ejemplo: python silverpeas_enum_poc.py https://vulnerable-silverpeas.com -w users.txt
El script mostrará:
[+] Username '...' appears VALID (Status: 200) para nombres de usuario que probablemente corresponden a cuentas existentes.[-] Username '...' appears INVALID (Status: 302) para nombres de usuario que probablemente no corresponden a cuentas existentes.Este script se proporciona con fines educativos y para demostrar la vulnerabilidad. Úsalo de forma responsable y únicamente contra sistemas para los que tengas autorización explícita y por escrito para probar. El escaneo o las pruebas no autorizadas son ilegales y poco éticos. El autor no asume ninguna responsabilidad y no se hace responsable de ningún uso indebido o daño causado por este script.