2017-04-07 73 views
0

我正在通過auth 2.0協議[1],以及證明密鑰RFC [2]。它很好地解釋了協議如何防止惡意應用程序監聽網絡流量。但是,我無法理解auth 2.0協議如何防止惡意代碼在瀏覽器本身上工作。OAuth 2.0在瀏覽器上的惡意攔截器

我們來看一個簡單的證明密鑰RFC協議的例子。我們生成一個高熵代碼驗證器,但我們必須將它存儲在瀏覽器的某個地方(可能在cookie /瀏覽器的本地存儲器中),以便再次使用它來獲取令牌。現在,如果在瀏覽器上執行惡意代碼,它總是可以訪問Cookie /本地存儲並獲取代碼驗證程序。

是否有協議增強(類似於RFC-7636),可以防止基於cookie的攻擊?如果不是,我們如何緩解呢?

[1] https://tools.ietf.org/html/rfc6749

[2] https://tools.ietf.org/html/rfc7636

回答

1

的OAuth 2.0迎合不同類型的客戶,即Web客戶機,在瀏覽器客戶端和本地移動應用客戶端。

PCKE OAuth 2.0機制主要是爲原生移動應用程序設計的。它允許公共客戶保護自己免受可能獲得授權碼的惡意應用程序和攻擊者的影響。

在處理Web客戶端時,不需要PCKE機制,因爲這些攻擊可以通過使用具有客戶端祕密存儲服務器端的機密客戶端來阻止。

在處理In-Browser客戶端時,存在您提到的問題,但通常在瀏覽器中運行惡意代碼時,所有希望都會丟失。

總結:PKCE不是一種防禦瀏覽器中的跨站點腳本攻擊的機制。

+0

謝謝!那麼,針對In-Browser客戶端的這種情況,有哪些方法可以防範呢? – Hrishi

+0

沒有特定的OAuth;針對XSS的一般保護適用 –