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

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

缺陷编号:wooyun-2012-05804

漏洞标题:人人网Oauth 2.0授权可导致用户access_token泄露

相关厂商:人人网

漏洞作者: PiaCa

提交时间:2012-04-05 23:05

修复时间:2012-05-20 23:05

公开时间:2012-05-20 23:05

漏洞类型:敏感信息泄露

危害等级:高

自评Rank:10

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2012-04-05: 细节已通知厂商并且等待厂商处理中
2012-04-07: 厂商已经确认,细节仅向厂商公开
2012-04-17: 细节向核心白帽子及相关领域专家公开
2012-04-27: 细节向普通白帽子公开
2012-05-07: 细节向实习白帽子公开
2012-05-20: 细节向公众公开

简要描述:

人人网Oauth 2.0授权对第三方应用的redirect_uri限制不是很严格,如果第三方网站存在xss等可以诱导用户泄露其access_token。
不过人人网的api接口有sign验证,拿到access_token也很难利用。

详细说明:

刚发了个ku6的xss漏洞,是因为要用它来测试这个。
1、登陆人人网
2、访问该地址
http://graph.renren.com/oauth/grant?client_id=cd271e3051444285b8a18f1211a095cd&redirect_uri=http://zone.ku6.com/u/17958620&response_type=token
3、跳转到存在xss的酷6地址
http://zone.ku6.com/u/17958620
2步中的人人那个地址是用来授权第三方的,response_type=token的授权请求只需要提供应用的client_id以及该应用申请时所填写的回跳地址redirect_uri,但是人人网并没有对redirect_uri进行严格检查,如果该redirect_uri域下存在xss漏洞,则可以诱导用户授权并劫持该用户的access_token。

漏洞证明:

访问结果如下:

修复方案:

应该根据需要严格检查redirect_uri,不应该对整个域设置为全部信任。

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:20

确认时间:2012-04-07 23:17

厂商回复:

3Q

最新状态:

暂无


漏洞评价:

评论

  1. 2012-04-05 23:06 | PiaCa ( 普通白帽子 | Rank:129 漏洞数:10 | 简单点!啪......嚓~~)

    为了配合下这个,我还提交个ku6的呢。这个直接过,那个却要审核…………

  2. 2012-04-06 10:18 | horseluke ( 普通白帽子 | Rank:116 漏洞数:18 | Realize the dream in earnest.)

    缺陷关联: WooYun: 酷6网个人主页XSS (提交者缺陷测试组合)

  3. 2012-04-06 10:33 | horseluke ( 普通白帽子 | Rank:116 漏洞数:18 | Realize the dream in earnest.)

    @PiaCa ,我特意查了查OAuth 2.0的RFC文本。在“4.1.1. Authorization Request”中(http://tools.ietf.org/html/draft-ietf-oauth-v2-25#section-4.1.1 ),它确实要求redirect_uri是放在GET中,并且在后续的“4.1.3. Access Token Request”和“4.1.4. Access Token Response”中也不要求需要对code进行来源验证。这么说来,似乎是OAuth 2.0的考虑不周?

  4. 2012-04-06 10:37 | horseluke ( 普通白帽子 | Rank:116 漏洞数:18 | Realize the dream in earnest.)

    @horseluke 貌似不对,4.1.3也提到“The authorization server MUST:require client authentication for confidential clients or for any client that was issued client credentials (or with other authentication requirements)”。人人网确实有义务要验证client来源的...

  5. 2012-04-06 10:57 | 葫芦 ( 路人 | Rank:10 漏洞数:2 | coder,dotaer)

    回调页面都要人工审核的吧

  6. 2012-04-06 11:15 | xsser 认证白帽子 ( 普通白帽子 | Rank:254 漏洞数:18 | 当我又回首一切,这个世界会好吗?)

    @horseluke 是实现的时候的原因,google的demo里是做了限制的

  7. 2012-04-06 15:21 | PiaCa ( 普通白帽子 | Rank:129 漏洞数:10 | 简单点!啪......嚓~~)

    @horseluke OAuth 2.0的确要求来源的。我个人认为是人人没有对这个来源做严格限制而已。

  8. 2012-04-07 11:47 | horseluke ( 普通白帽子 | Rank:116 漏洞数:18 | Realize the dream in earnest.)

    外部关联:http://weibo.com/1679264133/ydnh9rB7y (开放平台架构师对OAuth 2.0的理解)。个人很赞其观点:"做开放平台的人要存在敬畏之心"。

  9. 2012-04-08 23:24 | PiaCa ( 普通白帽子 | Rank:129 漏洞数:10 | 简单点!啪......嚓~~)

    20Rank,人人给力啊