记录黑客技术中优秀的内容,传播黑客文化,分享黑客技术精华

珍品网任意进入他人账号(OAuth 2.0无绑定token)

2013-10-14 11:50
在OAuth协议上,该漏洞分属OAuth 2.0无绑定token问题:由于OAuth 2.0的“无绑定token”特性,导致第三方应用在使用平台方的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
3、然后我们劫持账户A在应用A的授权access token
4、我们在B浏览器上用微博账户B登陆B应用——珍品网
5、然后我们把B账户在B应用的授权access token换成A账户在A应用的授权access token(A的access token没有在A应用上登陆,是被半路劫持的,因为一个access token用一次就会失效。)
 
6、我们看到返回响应中,登陆成功,也就是说我们利用我们劫持到的A的授权access token登陆了B应用——珍品网:

 
修复方案:

http://www.hackdig.com/Article/201303/192131.html
 

知识来源: www.2cto.com/Article/201310/249558.html

阅读:87501 | 评论:0 | 标签:无

想收藏或者和大家分享这篇好文章→复制链接地址

“珍品网任意进入他人账号(OAuth 2.0无绑定token)”共有0条留言

发表评论

姓名:

邮箱:

网址:

验证码:

ADS

标签云