2014-09-03 155 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