基于ThinkPHP的2个CMS后台GetShell利用

0x00 前言

ThinkPHP是为了简化企业级应用开发和敏捷WEB应用开发而诞生的,由于其简单易用,很多cms都基于该框架改写。然而 Thinkphp在缓存使用却存在缺陷,生成缓存时,Thinkphp会将数据序列化存进一个php文件,这就产生了很大的安全问题。

0x01 环境搭建

工具

phpstudy http://www.phpstudy.net/phpstudy/phpStudy20161103.zip Jymusic cms http://www.jyuu.cn/topic/t/41 xyhcms https://pan.baidu.com/s/1qYhTKc8

搭建

安装好phpstudy,把jymusic目录下的所有文件及文件夹拷贝到phpstudy的www目录下,浏览器访问http://localhost/install.php,然后配置一下数据库信息即可。

另外xyhcms安装类似,这里不赘述。

0x02本地后台getshell

Jymusic cms

先看一下管理员登录页面的源代码,看到核心入口为ThinkPHP.php,找到并打开查看

发现应用缓存目录为Temp文件夹

打开Temp文件夹会发现有很多缓存文件,我们随便打开即可看看,可以发现里面的内容有点像网站配置信息,只不过是序列化后的结果

所以我们在后台的网站设置处插入一句话,就会被ThinkPHP写入缓存文件。而且这个缓存文件的文件名都是固定不变的,这也是导致getshell的原因。

成功插入后,我们来执行一下phpinfo()函数看看,菜刀也能成功连接

xyhcms

xyhcms和Jymusic cms一样使用了ThinkPHP框架,这里不赘述,直接给出缓存文件的位置

xyhcms其实还有一个漏洞,在模板管理处可以添加一个php后缀的模板,文件内容也未做任何检测过滤。下面是成功getshell过程

0x03总结

其实现在很多小型网站都是基于ThinkPHP框架开发的,很多都存在这种问题。当你找不到上传点的时候,可以试试这种方法。当然,肯定有人会说,这个要后台登录才能利用,你只是在本地复现,都没实战过,说个锤子。其实,我还真的实战过,只是不方便贴图,使用弱口令做密码还是挺多的,所以锤子未必不可用。还有,有的网站,虽然说你用很简单的方法getshell,但是其实可以研究的东西还有很多,比如你getshell之后发现权限不够,那就可以试试提权,例如用udf提权、使用mysql远程连接结合sqlmap提权等等,虽然有些方法很早就有了,但是并不是每个人都会,而且一些老的思路还有可能启发你新的思考,继续加油吧!

原文发布于微信公众号 - FreeBuf(freebuf)

原文发表时间:2017-09-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏ChaMd5安全团队

记一次phpcms漏洞利用到获得服务器过程分享

记一次phpcms漏洞利用到获得服务器 by lshc 随着最近phpcms V9 任意上传和注入poc的流出,在圈内又掀起了一阵漏洞利用浪潮,想到之...

5966
来自专栏逻辑熊猫带你玩Python

“不可不学是编程,不可不用是git” | github篇

从Get一个github的账号开始,这里按照提示,走一走流程就好了,相信聪明的你可以的。

1932
来自专栏FreeBuf

用某品牌随身WiFi进行钓鱼测试

本文内容仅代表作者观点且只做测试展示,目的是提醒读者注意 WiFi 联网安全,严禁将内容用于不法用途。 前言 搭建钓鱼 WiFi 来盗取账号密码已经成为一种很...

2275
来自专栏北京马哥教育

Linux如何判断自己的服务器是否被入侵

如何判断自己的服务器是否被入侵了呢?仅仅靠两只手是不够的,但两只手也能起到一些作用,我们先来看看UNIX系统上一些入侵检测方法,以LINUX和solaris为例...

9247
来自专栏渠道合作伙伴技术圈

Windows server环境下混合云部署DFS文件服务

很多传统企业在设计身份验证和文件服务时,都会使用微软的活动目录和windows server自带的文件共享来实现以上的需求, 公有云的出现给这个场...

77716
来自专栏FreeBuf

又一个登陆框引起的血案

必看的肯定要属HTML源代码了,源代码里包含了下面所说的JS文件。HTML源代码会泄露很多信息,像程序员未删除的注释、敏感路径等都可能在HTML源代码中找的到,...

1854

如何在CentOS 7上安装OpenCart

OpenCart是面向在线商家的免费开源电子商务平台。OpenCart提供了一个专业可靠的基础,您可以以此为基础,成功建立一个在线商店。该基金会吸引了广泛的用户...

6685
来自专栏源码之家

.htaccess重写让空间绑定多个域名到不同的目录支持多站点

6077
来自专栏开发技术

负载均衡+session共享(memcached-session-manager实现)

  本文的形成参考了很多人的博客,最多的应该是青葱岁月兄的这篇博客,大家可以先去看下,熟悉一些内容,因为本文是直接实践,一些理论性的知识就需要大家自己去补充了。

2203
来自专栏杂烩

一个综合的分布式项目之项目环境准备 原

    创建maven项目相信看到这的oscer都会,这里就不赘述,主要贴出一些配置文件(限于篇幅随意贴了点,全部的请看github上)。

691

扫码关注云+社区

领取腾讯云代金券