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

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

缺陷编号:wooyun-2013-035504

漏洞标题:珍品网任意进入他人账号(OAuth 2.0无绑定token)

相关厂商:珍品网

漏洞作者: xfkxfk

提交时间:2013-08-29 10:55

修复时间:2013-10-13 10:56

公开时间:2013-10-13 10:56

漏洞类型:

危害等级:中

自评Rank:10

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2013-08-29: 细节已通知厂商并且等待厂商处理中
2013-08-29: 厂商已经确认,细节仅向厂商公开
2013-09-08: 细节向核心白帽子及相关领域专家公开
2013-09-18: 细节向普通白帽子公开
2013-09-28: 细节向实习白帽子公开
2013-10-13: 细节向公众公开

简要描述:

珍品网任意进入他人账号,此问题属于OAuth 2.0无绑定token问题

详细说明:

在OAuth协议上,该漏洞分属OAuth 2.0无绑定token问题:由于OAuth 2.0的“无绑定token”特性(http://zone.wooyun.org/content/674 ),导致第三方应用在使用平台方的OAuth 2.0授权(authorize)作为自身应用的认证(authenticate)手段时,缺乏一种有效的认证传递校验和来源检查,从而导致只需要拥有B应用的access token,即可登录到A应用所绑定的服务中。
在漏洞本质上,该漏洞分属于认证交换的信任检查问题:当攻击者给出一个认证凭据时,如果服务器没对此认证凭据进行来源等校验,那么攻击者就能成功完成认证交换,从而造成问题。
下面我们来看看流程:
(1)用户点击用新浪微博或者QQ登录,将弹出OAuth平台方的授权页面
(2)用户点击授权后,珍品网获得OAuth平台方给出的access token
(3)珍品网将此access token上报给http://my.zhenpin.com/third_party_login/api/sina_api.php接口,以获取珍品网的认证
(4)珍品网得到此认证字符串后,即有权限操作绑定的珍品网数据,即登陆成功。
那么这个问题就在于,如果有方法可以恶意替换OAuth平台方给出的access token,那是否就以进入他人的珍品网账号?实验证明,是可行的。

漏洞证明:

1、设置好代理,我们用burp suite
2、在浏览器A上用weibo账户A登陆应用A

1.png


3、然后我们劫持账户A在应用A的授权access token

2.png


4、我们在B浏览器上用微博账户B登陆B应用——珍品网

3.png


5、然后我们把B账户在B应用的授权access token换成A账户在A应用的授权access token(A的access token没有在A应用上登陆,是被半路劫持的,因为一个access token用一次就会失效。)

4.png


5.png


6、我们看到返回响应中,登陆成功,也就是说我们利用我们劫持到的A的授权access token登陆了B应用——珍品网:

6.png


7.png

修复方案:

见漏洞信息: WooYun: 啪啪任意进入他人账号(OAuth 2.0无绑定token问题)

版权声明:转载请注明来源 xfkxfk@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:20

确认时间:2013-08-29 11:12

厂商回复:

十分感谢xfkxfk对珍品网网站安全的关注与支持!

最新状态:

暂无