
PoC pour Silverpeas <= 6.4.2 Énumération de noms d'utilisateur
Script de preuve de concept pour démontrer une vulnérabilité d'énumération de noms d'utilisateur dans Silverpeas versions 6.4.1 et 6.4.2.
Résumé : La vulnérabilité existe dans la fonctionnalité de mot de passe oublié (point de terminaison /silverpeas/CredentialsServlet/ForgotPassword). En envoyant des requêtes POST avec des noms d'utilisateur potentiels dans le paramètre Login, le serveur répond avec différents codes d'état HTTP (200 OK pour les utilisateurs valides, 302 Found pour les utilisateurs invalides). Cette divergence permet à un attaquant distant non authentifié de déterminer les noms d'utilisateur valides sur le système.
silverpeas_enum_poc.pyrequests (pip install requests)Clonez le dépôt ou téléchargez le script (silverpeas_enum_poc.py).
Installez les dépendances : pip install requests
Exécutez le script depuis votre terminal :
Tester un seul nom d'utilisateur :
python silverpeas_enum_poc.py <TARGET_URL> -u <USERNAME>
Exemple : python silverpeas_enum_poc.py http://vulnerable-silverpeas.local -u admin
Tester les noms d'utilisateur à partir d'un fichier :
python silverpeas_enum_poc.py <TARGET_URL> -w <WORDLIST_FILE>
Exemple : python silverpeas_enum_poc.py https://vulnerable-silverpeas.com -w users.txt
Le script affichera :
[+] Username '...' appears VALID (Status: 200) pour les noms d'utilisateur correspondant probablement à des comptes existants.[-] Username '...' appears INVALID (Status: 302) pour les noms d'utilisateur ne correspondant probablement pas à des comptes existants.Ce script est fourni à des fins éducatives et pour démontrer la vulnérabilité. Utilisez ce script de manière responsable et uniquement contre des systèmes pour lesquels vous avez une autorisation explicite et écrite de test. L'analyse ou le test non autorisé est illégal et contraire à l'éthique. L'auteur décline toute responsabilité et n'est pas responsable de tout usage abusif ou dommage causé par ce script.