用于演示 Silverpeas 6.4.1 和 6.4.2 版本中用户名枚举漏洞的概念验证脚本。
摘要: 该漏洞存在于忘记密码功能(/silverpeas/CredentialsServlet/ForgotPassword 端点)中。通过向 Login 参数发送带有潜在用户名的 POST 请求,服务器会返回不同的 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) 对于可能不对应现有账户的用户名。此脚本仅供教育目的和演示漏洞之用。请负责任地使用此脚本,并且仅针对您拥有明确书面授权进行测试的系统。未经授权的扫描或测试是非法的且不道德的。作者不承担任何责任,也不对因使用此脚本造成的任何滥用或损害负责。