漏洞概要
关注数(24)
关注此漏洞
漏洞标题:点我的链接我就可能会进入你的网易云音乐
相关厂商:网易
提交时间:2016-01-16 09:10
修复时间:2016-03-04 13:27
公开时间:2016-03-04 13:27
漏洞类型:设计缺陷/逻辑错误
危害等级:中
自评Rank:10
漏洞状态:厂商已经确认
Tags标签:
无
漏洞详情
披露状态:
2016-01-16: 细节已通知厂商并且等待厂商处理中
2016-01-19: 厂商已经确认,细节仅向厂商公开
2016-01-29: 细节向核心白帽子及相关领域专家公开
2016-02-08: 细节向普通白帽子公开
2016-02-18: 细节向实习白帽子公开
2016-03-04: 细节向公众公开
简要描述:
不是绑定的CSRF问题了。但是我一样有方法进入!
详细说明:
网易云音乐的接口都用了Token来防止CSRF,然后百密一疏,在正常的微博的绑定接口中,分以下几个步骤走
1. 用户点击绑定按钮,向后台发起绑定的请求,GET /api/sns/authorize
2. 302到微博的授权页面:https://api.weibo.com/oauth2/authorize
3. 用户授权完成,回调到http://music.163.com/back/weibo,并带上了授权得到的Access Token
问题就出在最后一步中,虽然第二步的参数中带上了state的参数,但是经过验证这个参数好像没有好好用上,而且这个参数对于新浪微博的API来说不是必须的,引用一下新浪的文档:
那么问题就来了,步骤3没有验证回调的state的参数,也没有验证用户是否真的是自己发起了这个请求。在第一步如果有记录用户的状态的话,也是可以验证的。
具体攻击的过程
1. 用户登录了网易云音乐,点击了攻击者的链接
2. 在攻击者的页面中,主要过程是利用新浪微博的登录接口先登录攻击者的微博账号,注:攻击者的微博账号需要先授权给网易云音乐并关注,然后前端偷偷跳转到下面的地址,就可以将攻击者的微博账号绑定到用户的账号中
3. 攻击者利用自己的微博账号即可登录受害者的网易云音乐的账号
漏洞证明:
测试代码,pip安装一下requests, BeautifuSoup, Flask,改一下下面的微博账号和密码(记得需要先授权),然后访问一下即可:
修复方案:
漏洞回应
厂商回应:
危害等级:中
漏洞Rank:8
确认时间:2016-01-19 15:39
厂商回复:
漏洞已确认,将于近期修复,感谢您对网易产品的关注。
最新状态:
暂无
漏洞评价:
评价
-
2016-01-16 09:12 |
null_z ( 普通白帽子 | Rank:639 漏洞数:80 )