ThinkCMF介绍和漏洞初探
Posted hunpi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ThinkCMF介绍和漏洞初探相关的知识,希望对你有一定的参考价值。
##内容管理框架thinkcmf
ThinkCMF是基于Thinkphp的内容管理框架。首次遇到,是第一次参加学校awd攻防赛。下载比赛中的Web源码,探索ThinkCMF内容管理框架。
信息 | 说明 |
---|---|
概要 | 开源国产,中文建站系统CMS |
开发语言 | PHP javascript,html/CSS |
操作系统 | 跨平台 |
官网地址 | https://www.thinkcmf.com/ |
特点 | 支持Swoole |
版本 | 截至2021年5月,最新版本:5.1.7 & 6.0.1 |
时间 | 版权所有©2012-2013,ThinkCMF开源社区 |
本地服务器如何查看ThinkCMF版本?
(1)HTTP响应头:查看HTTP请求的响应头response,没有版本信息。
(2)内置函数:5.1.0&5.0.190111增加了cmf_version()获取版本号,测试发现undefined,说明比赛遇到的版本小于5.1版本。
漏洞
搜索漏洞信息
测试的ThinkCMF版本:目前只能根据内置函数推断出,版本 < 5.1.0。
根据漏洞影响版本反向推断,判断是ThinkCMF X1.6.0
、或 X2.1.0
、或X2.2.0/1/2
版本。
(1)在Github上搜索"thinkcmf漏洞",找到两个项目,分别进行测试。一个可RCE。
(2)百度搜索"thinkcmf漏洞",找到一些ThinkCMF X2版本的一些漏洞,如下所示。
漏洞利用详情见参考文章,Mochazz师傅的漏洞分析写得很详细,都给出了burp数据包。
由于只下载了网站根目录下的Web源码,缺失文件,无法注册用户,因此暂不测试。
前台SQL注入(普通注册用户)
前台代码执行(普通注册用户)
任意文件上传(普通注册用户)
1.ThinkCMF_getshell 框架上的任意内容包含漏洞-可用
漏洞简介:远程攻击者在无需任何权限情况下,通过构造特定的请求包即可在远程服务器上执行任意代码。该漏洞于2019年爆出,影响版本如下。
ThinkCMF X1.6.0
ThinkCMF X2.1.0
ThinkCMF X2.2.0
ThinkCMF X2.2.1
ThinkCMF X2.2.2
exp:使用jas502n师傅2019年编写的exp,项目地址如下,给个star感谢一下。
https://github.com/jas502n/ThinkCMF_getshell
(1)首先测试漏洞可用性,利用成功。
python2 ThinkCMF_getshell.py http://127.0.0.1/thinkcmf-awd
访问返回的payload
http://127.0.0.1/thinkcmf-awd/0a30e0d61182dbb7c1eed5135787fb84.php?cmd=whoami
结果:pc-202004082033\\administrator
(2)修复方法:Github项目上jas505n师傅给出了修复方法,经测试修复成功。
将 HomebaseController.class.php 和 AdminbaseController.class.php 类中 display 和 fetch 函数的修饰符改为 protected。
测试:修复成功。
在application\\Common\\Controller
目录下找到两个文件,修改两个函数display()和fetch()的类型 public
为 protected
。
准备:重启Apache服务器,删除上次测试在根目录下生成的PHP命令执行文件。
测试:执行py脚本,脚本没有返回>>>>>>>Shell url:
等信息,利用失败。
(3)利用原理:持恒之初忌深远。
2.ThinkCMFGetShell漏洞验证-Tas9er-不可用
项目没有说明漏洞信息,本地测试,返回结果 不存在漏洞
。估计是版本不匹配。
项目地址:https://github.com/Tas9er/ThinkCMFGetShell。
3.普通注册用户:SQL注入、代码执行、文件上传-未测试
参考
《ThinkCMF5.1开发手册》,https://www.kancloud.cn/thinkcmf/doc5_1/963029
漏洞利用:《ThinkCMF_getshell-jas502n》,项目时间2 years ago。
https://github.com/jas502n/ThinkCMF_getshell
《ThinkCMF框架上的任意内容包含漏洞》-FreeBUF,2019-10
https://www.freebuf.com/vuls/217586.html
《ThinkCMFX漏洞分析合集-Mochazz师傅》,2019-07
https://mochazz.github.io/2019/07/25/ThinkCMFX%E6%BC%8F%E6%B4%9E%E5%88%86%E6%9E%90%E5%90%88%E9%9B%86/
以上是关于ThinkCMF介绍和漏洞初探的主要内容,如果未能解决你的问题,请参考以下文章
ThinkCMF框架任意内容包含漏洞分析复现(写入shell+文件包哈)