(CVE-2019-9829)Maccms背景任意文件写入getshell.md
1.45 KB / 2021-04-21 09:23:46
(CVE-2019-9829)Maccms背景任意文件写入getshell
===============================================
一、漏洞简介
------------
二、漏洞影响
------------
v10
三、复现过程
------------
登录到后台,单击基本-\>类别管理;您可以看到用于每个类别的类别页面模板。您会看到这里使用的模板是/art/type.html
![](./resource/(CVE-2019-9829)Maccms背景任意文件写入getshell/media/rId24.png)
在后台,您可以编辑模板:单击模板-"模板管理",转到./template/default\_pc/html/art的模板管理区域,单击"编辑",
![](./resource/(CVE-2019-9829)Maccms背景任意文件写入getshell/media/rId25.png)
输入php代码。
![](./resource/(CVE-2019-9829)Maccms背景任意文件写入getshell/media/rId26.png)
访问 index.php/art/type/id/5.html
PHP代码成功执行。
![](./resource/(CVE-2019-9829)Maccms背景任意文件写入getshell/media/rId27.png)
### 原理分析
该程序最初旨在禁止将模板更改为PHP文件:
![](./resource/(CVE-2019-9829)Maccms背景任意文件写入getshell/media/rId29.png)
但是,在渲染模板时,该程序会将模板文件写入缓存文件,然后将其包含在"
include"中,因此,禁止将模板更改为php文件后,仍然可以执行代码。
![](./resource/(CVE-2019-9829)Maccms背景任意文件写入getshell/media/rId30.png)
![](./resource/(CVE-2019-9829)Maccms背景任意文件写入getshell/media/rId31.png)
image