### 简要描述:
CmsEasy 存在多处文件包含,可以结合其他漏洞利用,直接GetShell。
### 详细说明:
```
第一处,后台自定义——添加表单
```
先来看看/cmseasy/template/admin/form/addform.php文件:
[<img src="https://images.seebug.org/upload/201311/260938553cac5f7f3eb1058e2f52679ced699a82.png" alt="1-1.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201311/260938553cac5f7f3eb1058e2f52679ced699a82.png)
直接获取到template参数的值
再来看看/cmseasy/lib/admin/form_admin.php
[<img src="https://images.seebug.org/upload/201311/2609390423f6861b6c442172e10c876ecf0dddb4.png" alt="1-2.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201311/2609390423f6861b6c442172e10c876ecf0dddb4.png)
没有判断template参数的值是否合法,是否是在允许的范围内等,直接进行保存。
[<img src="https://images.seebug.org/upload/201311/26093913915656a2bbb67213f5fa832f0f2e694b.png" alt="1-3.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201311/26093913915656a2bbb67213f5fa832f0f2e694b.png)
我们在添加表单时抓包,修改这里template默认的值为我们自己的payload文件boot.php
[<img src="https://images.seebug.org/upload/201311/26093923f0e80a0da5acdb35525523b1edcb4df5.png" alt="1-4.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201311/26093923f0e80a0da5acdb35525523b1edcb4df5.png)
Boot.php文件的内容为<?php phpinfo();?>
看看数据库存储的内容,直接进行了存储
[<img src="https://images.seebug.org/upload/201311/26093931ab6d2e819cbd0cf2d64965bb20d94ff5.png" alt="1-5.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201311/26093931ab6d2e819cbd0cf2d64965bb20d94ff5.png)
然后,添加成功后,会在管理表单里面添加我们的表单
[<img src="https://images.seebug.org/upload/201311/26093939aa49193018fff9ed820df84de85e845c.png" alt="1-6.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201311/26093939aa49193018fff9ed820df84de85e845c.png)
然后,我们可以预览我们已经添加的表单,这里的预览功能是任何人都可以访问的
[<img src="https://images.seebug.org/upload/201311/260939506b0369d1a08c216d49cf58249d62601d.png" alt="1-7.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201311/260939506b0369d1a08c216d49cf58249d62601d.png)
这样成功包含了我们的payload文件boot.php。
```
第二处,后台模板——添加栏目标签
```
[<img src="https://images.seebug.org/upload/201311/260940296540bd29cb5342b501fe19fc45ba9a68.png" alt="3-1.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201311/260940296540bd29cb5342b501fe19fc45ba9a68.png)
不进行代码分析了,方法同上,来张证明吧:
[<img src="https://images.seebug.org/upload/201311/2609405835fce8104ddeccb1373346495000199b.png" alt="3-7.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201311/2609405835fce8104ddeccb1373346495000199b.png)
```
第三处,后台模板——添加内容标签
```
方法同第二处。
```
第四处,后台内容——添加内容——属性设置
```
[<img src="https://images.seebug.org/upload/201311/26094329254a39b06ca0a568ec741acaae408e5d.png" alt="4-1.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201311/26094329254a39b06ca0a568ec741acaae408e5d.png)
这里的包含可以直接利用,拿到shell,见下回分晓。
### 漏洞证明:
见详细说明
暂无评论