### 简要描述: 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)...
### 简要描述: 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,见下回分晓。 ### 漏洞证明: 见详细说明