
PoC для Silverpeas <= 6.4.2 перечисление имён пользователей
Сценарий Proof-of-Concept для демонстрации уязвимости перебора имен пользователей в Silverpeas версий 6.4.1 и 6.4.2.
Краткое описание: Уязвимость существует в функции восстановления пароля (endpoint /silverpeas/CredentialsServlet/ForgotPassword). При отправке POST-запросов с потенциальными именами пользователей в параметре Login сервер отвечает разными HTTP-статус-кодами (200 OK для существующих пользователей, 302 Found для несуществующих). Это расхождение позволяет удаленному неавторизованному злоумышленнику определить действительные имена пользователей в системе.
silverpeas_enum_poc.pyrequests (pip install requests)Клонируйте репозиторий или загрузите скрипт (silverpeas_enum_poc.py).
Установите зависимости: pip install requests
Запустите скрипт из терминала:
Проверка одного имени пользователя:
python silverpeas_enum_poc.py <TARGET_URL> -u <USERNAME>
Пример: python silverpeas_enum_poc.py http://vulnerable-silverpeas.local -u admin
Проверка имен пользователей из файла:
python silverpeas_enum_poc.py <TARGET_URL> -w <WORDLIST_FILE>
Пример: python silverpeas_enum_poc.py https://vulnerable-silverpeas.com -w users.txt
Скрипт выведет:
[+] Имя пользователя '...' выглядит ДЕЙСТВИТЕЛЬНЫМ (Статус: 200) для имен, вероятно соответствующих существующим учетным записям.[-] Имя пользователя '...' выглядит НЕДЕЙСТВИТЕЛЬНЫМ (Статус: 302) для имен, вероятно не соответствующих существующим учетным записям.Этот скрипт предоставляется в образовательных целях и для демонстрации уязвимости. Используйте его ответственно и только против систем, на тестирование которых у вас есть явное письменное разрешение. Несанкционированное сканирование или тестирование незаконно и неэтично. Автор не несет ответственности за любое неправильное использование или ущерб, причиненный этим скриптом.