基于ThinkPHP的2个CMS后台GetShell利用
来源:互联网 发布:focusky破解补丁mac 编辑:程序博客网 时间:2024/05/16 09:25
* 本文作者:Mochazz,本文属FreeBuf原创奖励计划,未经许可禁止转载
文章作者:Mochazz
思路作者:szrzvdny
0×00 前言
ThinkPHP是为了简化企业级应用开发和敏捷WEB应用开发而诞生的,由于其简单易用,很多cms都基于该框架改写。然而 Thinkphp在缓存使用却存在缺陷,生成缓存时,Thinkphp会将数据序列化存进一个php文件,这就产生了很大的安全问题。
0×01 环境搭建
工具
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安装类似,这里不赘述。
0×02本地后台getshell
Jymusic cms
先看一下管理员登录页面的源代码,看到核心入口为ThinkPHP.php,找到并打开查看
发现应用缓存目录为Temp文件夹
打开Temp文件夹会发现有很多缓存文件,我们随便打开即可看看,可以发现里面的内容有点像网站配置信息,只不过是序列化后的结果
所以我们在后台的网站设置处插入一句话,就会被ThinkPHP写入缓存文件。而且这个缓存文件的文件名都是固定不变的,这也是导致getshell的原因。
成功插入后,我们来执行一下phpinfo()函数看看,菜刀也能成功连接
xyhcms
xyhcms和Jymusic cms一样使用了ThinkPHP框架,这里不赘述,直接给出缓存文件的位置
xyhcms其实还有一个漏洞,在模板管理处可以添加一个php后缀的模板,文件内容也未做任何检测过滤。下面是成功getshell过程
0×03总结
其实现在很多小型网站都是基于ThinkPHP框架开发的,很多都存在这种问题。当你找不到上传点的时候,可以试试这种方法。当然,肯定有人会说,这个要后台登录才能利用,你只是在本地复现,都没实战过,说个锤子。其实,我还真的实战过,只是不方便贴图,使用弱口令做密码还是挺多的,所以锤子未必不可用。还有,有的网站,虽然说你用很简单的方法getshell,但是其实可以研究的东西还有很多,比如你getshell之后发现权限不够,那就可以试试提权,例如用udf提权、使用mysql远程连接结合sqlmap提权等等,虽然有些方法很早就有了,但是并不是每个人都会,而且一些老的思路还有可能启发你新的思考,继续加油吧!
参考文章:
ThinkPHP5.0.10-3.2.3缓存函数设计缺陷可导致Getshell
* 本文作者:Mochazz,本文属FreeBuf原创奖励计划,未经许可禁止转载
- 上一篇:如何对Flash应用进行渗透测试,并在21点纸牌游戏中作弊
- 下一篇: 本篇已是最新文章
已有 10 条评论
- wxxxxxx 2017-09-26回复4楼
哥,重点来了,你shell路径哪里找,求姿势。
亮了(0)
- 基于ThinkPHP的2个CMS后台GetShell利用
- 利用Thinkphp 5缓存漏洞实现前台Getshell
- 基于thinkphp开源cms 对比
- 基于thinkphp的cms学生学籍管理系统
- Discuz的利用UC_KEY进行getshell
- Discuz的利用UC_KEY进行getshell
- Shopex 后台getshell
- ECSHOP后台getshell漏洞
- 基于ThinkPHP框架的简单的后台管理系统
- 首个基于Windows Azure的开源CMS发布
- 10个基于Java的CMS网站内容管理系统
- 10个基于Java的CMS网站内容管理系统
- Mailbox(getshell) writeup —— ret2libc的利用
- 利用文件名进行GetShell---CTF题目的相关知识解析
- 基于net的cms
- 基于thinkphp的框架视图框架,实现后台框架(适合程序员的后台框架)
- 基于bash tcp 外网getshell
- thinkphp-编写第一个后台接口
- C内存布局
- 复习Web前端开发(一)
- javaScript -鼠标拖拽
- hexo+github搭建博客
- 系统的平均并发用户数和并发数峰值如何估算
- 基于ThinkPHP的2个CMS后台GetShell利用
- linux下退格键的小研究(续)
- 鼠标移动事件
- Python 中的关键字with详解
- 鼠标事件
- 超好用的删除行tr js代码
- android studio 融云SDK集成
- 鼠标事件案例—戳眼
- 用户注册
老哥,jymusic的这个漏洞补了吗?我下载的源文件内容根目录和你的都不一样,temp文件都找不到,好友thinkphp.php文件也没了