漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2014-061752
漏洞标题:中国联通邮箱多处存在存储型XSS漏洞
相关厂商:mail.wo.com.cn
漏洞作者: nextdoor
提交时间:2014-05-21 21:03
修复时间:2014-07-05 21:04
公开时间:2014-07-05 21:04
漏洞类型:xss跨站脚本攻击
危害等级:高
自评Rank:13
漏洞状态:已交由第三方合作机构(cncert国家互联网应急中心)处理
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2014-05-21: 细节已通知厂商并且等待厂商处理中
2014-05-26: 厂商已经确认,细节仅向厂商公开
2014-06-05: 细节向核心白帽子及相关领域专家公开
2014-06-15: 细节向普通白帽子公开
2014-06-25: 细节向实习白帽子公开
2014-07-05: 细节向公众公开
简要描述:
中国联通邮箱多处存在存储型XSS漏洞o
详细说明:
先说一下测试的过程吧,是黑名单过滤机制。
过滤了script,iframe,img的onerror事件和alert函数等。
先看一看主要的漏洞测试点
如图主要是闭合<a>和<embed>标签
1.闭合<a>标签,再利用<object>标签。
漏洞处没有对特殊字符转意可以对<a>标签进行闭合
构造代码
漏洞执行并直接触发
插入后代码执行
2.对伪协议javascript没有过滤,过滤了alert函数。过滤alert函数没有什么用啊
可以用confirm(11)测试,还可以用document.title="Exploit"测试。
对于其他的伪协议像vbscript,ed2k,expression等自己做一下测试。
测试代码:
点击链接后触发
插入成功的代码
代码成功执行
3.对div,img等标签没有防御
这个漏洞想要说明的是仅仅过滤部分on事件是不够的,要过滤全部on事件。
由于过多的标签没有被过滤掉,仅仅拿这两个标签作为测试。
测试代码
鼠标移动到测试代码上代码执行成功
代码执行成功
利用img标签做的测试,上图不详述
4.插入多媒体文件处也是伪协议的问题。这里要进行简单绕过。
测试代码
打开邮箱直接触发
插入的代码
5.插入flash处漏洞测试代码,由于插入flash和多媒体都是用的embed标签,利用过程差不多
打开邮箱直接触发
插入的代码
总结:测试过程中还有很多标签没有过滤如<base>且下面js脚本是相对路径,测试一下
没加载成功,没有再次测试,这个标签也过滤一下吧。
对于漏洞的利用可以构造js盗取cookie的代码,在这不在进行构造。
漏洞证明:
修复方案:
关于防御,有两个建议
1.对<a><embed>进行http协议的验证,
2.就是对一些关键词的过滤
把onerror替换成on_error //所有的on事件都替换成此种形式
把javascript替换java_script
把data标签替换成_data
把vbscript替换成vb_script
把expression替换成_expression
把ed2k替换成_ed2k
这样就能防御大部分XSS漏洞了,即使代码插入了也很难执行。
版权声明:转载请注明来源 nextdoor@乌云
漏洞回应
厂商回应:
危害等级:高
漏洞Rank:10
确认时间:2014-05-26 14:14
厂商回复:
CNVD确认并复现所述情况,转由CNCERT协调中国联合网络通信集团有限公司通报处置。
最新状态:
暂无