2016-10-19 153 views
1
  • 受害者通過系統瀏覽器在一個的oauth2授權碼流授權服務器進行身份驗證,並出具由認證服務器
  • 受害者被誘騙點擊,在其推出的的oauth2對攻擊者網站的鏈接的會話cookie通過朝的oauth2授權服務器與客戶端ID受害者的瀏覽器授權請求和重定向URI襲擊者OAuth2用戶端,因爲會話cookie已經由認證服務器發出,但只是要求受害人給予
  • 授權服務器不需要身份驗證的受害者攻擊者客戶端訪問 - 在這種情況下,受害者被假定爲做
  • 授權服務器將重定向受害者的瀏覽器攻擊者重定向URI(假定它指向一個Web應用程序)與授權碼授權響應受害者
  • 現在的攻擊者擁有授權碼的受害人,他或者她可以換取刷新&訪問令牌

什麼反對這一點的最好可能的預防措施,除了對受害者不接受授予攻擊者客戶端訪問? 我的意思是,普通的互聯網用戶通常會在正常的日子裏點擊接受很多東西,而不用多加考慮。如何防止以下CSRF攻擊Oauth2?

+0

你知道的事實,有一個[信息安全協議棧交換](http://security.stackexchange.com/)? – timmyRS

+0

我認爲應用程序安全是安全和編碼之間的一個多學科領域,可能更多地屬於StackOverflow。信息安全協議討論的信息安全協議是一個更爲廣泛的領域,很多人不是開發人員。他們處理不同層面的問題,有時更多是從理論角度來處理。所以總之我認爲這確實是一個編程問題。 –

回答

0

對於這項工作,攻擊者必須與身份驗證提供者,它在企業環境中不應該是可以註冊自己的客戶端。此外,由於重定向URI未註冊,AP不應該將用戶重定向回攻擊者。

在公共接入點,任何人都可以註冊一個客戶端的情況下,這確實是一個問題,而這也是在一定意義上的點。如果用戶授權攻擊者的應用程序,那麼攻擊者的應用程序將有權訪問。由於它與普通應用程序在這方面沒有區別,用戶必須小心(當你是對的,大多數用戶只需點擊「確定」即可)。

的AP仍能保持例如基於用戶報告黑名單,但是這是一個弱控制。最好的AP可以做很可能是爲用戶提供充足的信息和警告,延緩OK按鈕幾秒鐘,試圖讓他們閱讀等