
PoC für Silverpeas <= 6.4.2 Benutzernamen-Enumeration
Proof-of-Concept-Skript zur Demonstration einer Benutzernamen-Enumeration-Schwachstelle in Silverpeas Versionen 6.4.1 und 6.4.2.
Zusammenfassung: Die Schwachstelle existiert in der Funktion zum Zurücksetzen vergessener Passwörter (Endpunkt /silverpeas/CredentialsServlet/ForgotPassword). Durch das Senden von POST-Anfragen mit möglichen Benutzernamen im Parameter Login antwortet der Server mit unterschiedlichen HTTP-Statuscodes (200 OK für gültige Benutzer, 302 Found für ungültige Benutzer). Diese Abweichung ermöglicht es einem entfernten, nicht authentifizierten Angreifer, gültige Benutzernamen auf dem System zu ermitteln.
silverpeas_enum_poc.pyrequests (pip install requests)Klonen Sie das Repository oder laden Sie das Skript (silverpeas_enum_poc.py) herunter.
Installieren Sie die Abhängigkeiten: pip install requests
Führen Sie das Skript über Ihr Terminal aus:
Einzelnen Benutzernamen testen:
python silverpeas_enum_poc.py <TARGET_URL> -u <USERNAME>
Beispiel: python silverpeas_enum_poc.py http://vulnerable-silverpeas.local -u admin
Benutzernamen aus einer Datei testen:
python silverpeas_enum_poc.py <TARGET_URL> -w <WORDLIST_FILE>
Beispiel: python silverpeas_enum_poc.py https://vulnerable-silverpeas.com -w users.txt
Das Skript gibt Folgendes aus:
[+] Benutzername '...' scheint GÜLTIG (Status: 200) für Benutzernamen, die wahrscheinlich zu vorhandenen Konten gehören.[-] Benutzername '...' scheint UNGÜLTIG (Status: 302) für Benutzernamen, die wahrscheinlich keinem vorhandenen Konto entsprechen.Dieses Skript dient nur zu Bildungszwecken und zur Demonstration der Schwachstelle. Verwenden Sie dieses Skript verantwortungsbewusst und nur gegen Systeme, für die Sie eine ausdrückliche, schriftliche Genehmigung zum Testen haben. Nicht autorisiertes Scannen oder Testen ist illegal und unethisch. Der Autor übernimmt keine Haftung und ist nicht verantwortlich für Missbrauch oder Schäden, die durch dieses Skript verursacht werden.