漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2013-044073
漏洞标题:CmsEasy后台多处文件包含
相关厂商:cmseasy
漏洞作者: xfkxfk
提交时间:2013-11-26 18:58
修复时间:2014-02-24 18:58
公开时间:2014-02-24 18:58
漏洞类型:文件包含
危害等级:高
自评Rank:20
漏洞状态:厂商已经确认
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2013-11-26: 细节已通知厂商并且等待厂商处理中
2013-11-26: 厂商已经确认,细节仅向厂商公开
2013-11-29: 细节向第三方安全合作伙伴开放
2014-01-20: 细节向核心白帽子及相关领域专家公开
2014-01-30: 细节向普通白帽子公开
2014-02-09: 细节向实习白帽子公开
2014-02-24: 细节向公众公开
简要描述:
CmsEasy 存在多处文件包含,可以结合其他漏洞利用,直接GetShell。
详细说明:
先来看看/cmseasy/template/admin/form/addform.php文件:
直接获取到template参数的值
再来看看/cmseasy/lib/admin/form_admin.php
没有判断template参数的值是否合法,是否是在允许的范围内等,直接进行保存。
我们在添加表单时抓包,修改这里template默认的值为我们自己的payload文件boot.php
Boot.php文件的内容为<?php phpinfo();?>
看看数据库存储的内容,直接进行了存储
然后,添加成功后,会在管理表单里面添加我们的表单
然后,我们可以预览我们已经添加的表单,这里的预览功能是任何人都可以访问的
这样成功包含了我们的payload文件boot.php。
不进行代码分析了,方法同上,来张证明吧:
方法同第二处。
这里的包含可以直接利用,拿到shell,见下回分晓。
漏洞证明:
见详细说明
修复方案:
判断添加的表单中,tagtemplate参数的值是否合法,添加判断规则即可。
这里可以规定,添加的栏目,使用的模板只能是现存的模板,或者添加的栏目只能在指定的目录下,不可跳跃目录。
版权声明:转载请注明来源 xfkxfk@乌云
漏洞回应
厂商回应:
危害等级:高
漏洞Rank:20
确认时间:2013-11-26 20:02
厂商回复:
感谢
最新状态:
暂无