漏洞详情

披露状态:

2014-03-30: 细节已通知厂商并且等待厂商处理中
2014-04-01: 厂商已经确认,细节仅向厂商公开
2014-04-11: 细节向核心白帽子及相关领域专家公开
2014-04-21: 细节向普通白帽子公开
2014-05-01: 细节向实习白帽子公开
2014-05-14: 细节向公众公开

简要描述:

酷6-开心OAuth 2.0 认证流程中, 没有提供有效的方式来抵抗针对redirect_uir 的CSRF 攻击。如果攻击成功,攻击者不需要知道受害用户的帐户的密码就可登录受害帐户。

详细说明:

酷6-开心 OAuth 2.0 认证流程中



http://api.kaixin001.com/oauth2/authorize?response_type=code&client_id=832443644017752d378f4d7bc545c3c6&redirect_uri=http://passport.ku6.com/kaixin-userBindCallback.htm?redirect=http://my.ku6.com/my_account/accountbinding&scope=basic%20create_records



酷6网并没有提供有效方式抵抗针对redirect_uir 的CSRF 攻击。



如果攻击者重新发起一个酷6-开心OAuth 2.0 认证请求,并截获



OAuth 2.0 认证请求的返回。



http://passport.ku6.com/kaixin-userBindCallback.htm?redirect=http://my.ku6.com/my_account/accountbinding&code=4a4720dcf978aba67fbff22e1bdb7aab

攻击者诱骗已经登录的网用户点击(比如通过邮件或者QQ等方式)。 酷6网会自动将用户的帐号同攻击者的帐号绑定到一起。

攻击者可以通过其开心网帐号访问受害用户的帐号。

漏洞证明:

1.png

2.png

修复方案:

1. 建议采取有效措施去抵抗针对OAuth 2.0 redirect_uir 的CSRF攻击。

比如:a. 强制用户重新输入帐号密码,然后再进行绑定操作。这是最简单有效的方式。但可能会牺牲用户体验。

b. 酷6网可以采用验证referer的值来抵抗针对OAuth 2.0 redirect_uir 的CSRF攻击。但必须采用strict mode,对于没有referer, 以及referer 不在 kaixin或者其支持的所有第三方登录域名下,拒绝所有的http://passport.ku6.com/kaixin-userBindCallback.htm?redirect=http://my.ku6.com/my_account/accountbinding&code=4a4720dcf978aba67fbff22e1bdb7aab 请求。 但有可能会导致正常用户也无法绑定其帐号。(因为referer may be compressed through the transmission.)

c. 采用与用户session identifier 相关的state参数(采用hash或者其他方法将session identifier 盲化), 并将参数放在OAuth 2.0的请求中,对于OAuth 2.0 response, 严格检查 state value的值是否相等。

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


漏洞回应

厂商回应:

危害等级:低

漏洞Rank:4

确认时间:2014-04-01 08:45

厂商回复:

谢谢Johnny的报告。

最新状态:

暂无


漏洞评价: