当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(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标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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>标签

0.PNG


1.闭合<a>标签,再利用<object>标签。
漏洞处没有对特殊字符转意可以对<a>标签进行闭合
构造代码

</a><object data=data:text/html;base64,PHNjcmlwdD5hbGVydCgid29veXVufnRlc3QiKTwvc2NyaXB0Pg==></object>


21.PNG


漏洞执行并直接触发

2.PNG


插入后代码执行

3.PNG


2.对伪协议javascript没有过滤,过滤了alert函数。过滤alert函数没有什么用啊
可以用confirm(11)测试,还可以用document.title="Exploit"测试。
对于其他的伪协议像vbscript,ed2k,expression等自己做一下测试。
测试代码:

javascript:confirm(document.cookie)


22.PNG


点击链接后触发

5.PNG


插入成功的代码

4.PNG


代码成功执行
3.对div,img等标签没有防御
这个漏洞想要说明的是仅仅过滤部分on事件是不够的,要过滤全部on事件。
由于过多的标签没有被过滤掉,仅仅拿这两个标签作为测试。
测试代码

<div onmouseover="confirm(88)">TEST</div>


12.PNG


鼠标移动到测试代码上代码执行成功

13.PNG


代码执行成功

14.PNG


利用img标签做的测试,上图不详述

15.PNG


16.PNG


4.插入多媒体文件处也是伪协议的问题。这里要进行简单绕过。
测试代码

javascript:confirm(11) //.swf


9.PNG


打开邮箱直接触发

10.PNG


插入的代码

11.PNG


5.插入flash处漏洞测试代码,由于插入flash和多媒体都是用的embed标签,利用过程差不多

javascript:confirm(11)


6.PNG


打开邮箱直接触发

7.PNG


插入的代码

8.PNG


总结:测试过程中还有很多标签没有过滤如<base>且下面js脚本是相对路径,测试一下
没加载成功,没有再次测试,这个标签也过滤一下吧。
对于漏洞的利用可以构造js盗取cookie的代码,在这不在进行构造。

漏洞证明:

漏洞证明

2.PNG

修复方案:

关于防御,有两个建议
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协调中国联合网络通信集团有限公司通报处置。

最新状态:

暂无