簡體   English   中英

如果Oauth中的授權代碼泄漏了怎么辦

[英]What if authorization code in Oauth is leaked

一旦我成功登錄到身份驗證服務器,服務器就會使用授權碼重定向回應用程序。 然后,此授權代碼用於在后端獲取訪問令牌。 我的疑問是在使用前是否有人看到/捕獲或復制了我的授權碼。 然后他也可以使用我的憑據登錄。 我想知道,我的想法正確嗎? 或者我在此過程中缺少一些安全流程。

編輯:我主要關心的是有人在我的瀏覽器歷史記錄中看到授權代碼,然后他從其他計算機發送此代碼以獲取訪問令牌的情況。 我們如何預防它。

您是正確的:這就是為什么在OAuth 2.0中應該有一個固定的,注冊的回調URI,客戶端將在該URI上接收授權代碼,該代碼由配置文件(例如OpenID Connect)強制執行。 規范的安全注意事項部分更深入地分析了授權代碼概念的風險: https : //tools.ietf.org/html/rfc6749#section-10.5

您的客戶的秘密交換訪問令牌的授權碼所必需的 因此,如果您在后端將客戶端保密,則攻擊者可能會捕獲您的授權代碼,但將無法獲取訪問令牌。

然后,很大程度上取決於您的重定向uri。 如果它屬於您的服務器,則為https(因此攻擊者將無法監聽流量 ),並且您的服務器不允許OpenRedirect-攻擊者可能無法捕獲代碼。

接下來,授權碼應為一次性使用 因此,如果攻擊者在您的瀏覽器歷史記錄中找到了該代碼-該代碼可能已被交換為令牌-這就是為什么無法再次使用它的原因。

請注意,這里我假設設計良好的OAuth 2.0。 忽略RFC 4749要求的OAuth 2.0實現可能會遭受各種各樣的攻擊。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM