新浪邮箱邮件正文XSS – 富文本过滤策略绕过

漏洞概要

缺陷编号:WooYun-2013-019578

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

相关厂商:新浪

漏洞作者:gainover

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

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

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

危害等级:高

自评Rank:15

漏洞状态:厂商已经确认

Tags标签:

漏洞详情

披露状态:

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)//">

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

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

而浏览器则会先解析title

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

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

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

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

漏洞证明:

见详细说明。

修复方案:

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

漏洞回应

厂商回应:

危害等级:高

漏洞Rank:15

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

厂商回复:

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

最新状态:

暂无

评价

  1. 2010-01-01 00:00 苏南同学 白帽子 | Rank:41 漏洞数:5)

    有企鹅邮箱的吗?洞主

  2. 2010-01-01 00:00 风萧萧 白帽子 | Rank:874 漏洞数:67)

    二哥碉堡了

  3. 2010-01-01 00:00 lsh4ck 白帽子 | Rank:77 漏洞数:12)

    二哥V5

  4. 2010-01-01 00:00 ppt 白帽子 | Rank:11 漏洞数:2)

    87

  5. 2010-01-01 00:00 苏南同学 白帽子 | Rank:41 漏洞数:5)

    啥内容页没有啊~

  6. 2010-01-01 00:00 rasca1 白帽子 | Rank:39 漏洞数:8)

    2哥威武

  7. 2010-01-01 00:00 isno 白帽子 | Rank:20 漏洞数:3)

    先学习学习

  8. 2010-01-01 00:00 寸芒 白帽子 | Rank:22 漏洞数:4)

    @Michael_113