2014-09-03 167 views
1

通过使用OAuth 2.0身份验证引入Google's new API,开发人员可以设置刷新令牌,这些令牌要求最终用户仅对应用程序进行一次验证。Google API刷新令牌安全漏洞

开发人员有能力为他/她的项目set a scope。对于刷新令牌OAuth设置,用户只需要为应用程序批准一次认证,此后,Google的服务器将使用刷新令牌处理重新认证。

根据开发者最初指定的范围,同意屏幕将根据所选范围向用户通知应用程序可以访问/修改的内容。考虑下面的Gmail 例如#2:

enter image description here

现在,如果在后一阶段的开发改变了应用范围,用户将不必重新批准认证,作为身份验证最初是基于刷新令牌设置的,或者假设为offline access

用户最初批准的“查看您的电子邮件地址”仅访问(例如),但现在,应用程序可以做各种各样的事情,与修改访问,查看数据,联系人等,这是最初没有被终端用户

这有点一个安全漏洞/侵犯隐私的行为,也没有办法让用户识别应用程序是否这样做的批准。

有没有其他人注意到这种行为?这当然不合乎伦理?

P.S.我用#1 仅作为举例,我没有指责这个网站这样做:)

回答

0

这是一个实际的安全漏洞,你在行动中已经注意到了,或者疑似一个呢?

根据我的参考和经验,刷新标记用于“为单独的资源调用检索相同或较小范围的附加标记”[1]例如,在从我的认证流程中省略范围后,我收到一个特定的标记拒绝了与被遗漏范围有关的任何请求。

这表明,在获取用户的刷新令牌后更改项目的范围将不允许您访问任何他们未授权的内容。

+0

我已经体验过这种行为,至少Gmail。尝试使用“https:// www.googleapis.com/auth/gmail.readonly”作为范围设置应用程序。创建刷新令牌进行身份验证并登录。此后,将范围修改为“https:// mail.google.com /',它给出”完全访问帐户,包括永久删除线程和消息。“。即使在24小时后,用户也不会被重新认证。 – Moose 2014-09-05 05:39:45