2014-10-08 101 views
2

我一直在閱讀令牌認證以及XSRF和XSS攻擊獲取認證信息的可能性。令牌認證和XSRF/XSS保護

我知道,爲了防止XSRF攻擊,從cookie中讀取自定義身份驗證令牌並在發出任何AJAX請求之前將其添加到自定義請求頭中是一種流行的方法。然後,服務器可以在請求標頭上而不是在cookie上運行驗證。我相信AngularJS使用這種方法:https://docs.angularjs.org/api/ng/service/ $ http

我的困惑來防止XSS攻擊。顯然,最好確保沒有用戶輸入能夠注入JavaScript,但可以說找到了一個缺陷,因爲上面提到的cookie需要被讀取,以便在請求頭中設置它的值,是不是容易受到XSS攻擊?由於cookie不能僅設置爲HTTP,攻擊者是否可以不讀取cookie來獲取身份驗證令牌,然後僞造請求?如果是這樣,這怎麼能被阻止?

任何信息表示讚賞。

+0

我想知道同樣的事情,看到Angular的XSRF保護需要一個cookie,'httpOnly'標籤設置爲'false'。顯然,如果您的站點容易受到XSS攻擊,那麼即使使用XSRF保護,也無法阻止攻擊者僞造惡意請求。請參閱:https://www.optiv.com/blog/bypassing-csrf-tokens-via-xss – Seeven 2017-08-21 09:53:45

回答

1

如果您的網站容易受到XSS攻擊,則cookie只會受到XSS攻擊。

因此,您必須確保任何用戶輸入在顯示在頁面上之前都已過濾。