使用存储在HTTPonly&中的JWT安全cookie:易受CSRF攻击。但不是XSS?

时间:2018-04-05 11:02:01

标签: cookies xss

我理解webstorage易受xss攻击

Cookie到CSRF也很有意义

让我感到困惑的是,似乎隐含地说cookie不容易受到xss的影响,但它是否也容易受到xss的攻击?

如果我可以在其他浏览器上运行脚本,我想我可能只能向服务器发送请求&获取重要数据导致浏览器自动附加cookie&我不需要做任何事情来进行身份验证。

1 个答案:

答案 0 :(得分:0)

如果使用httpOnly标志设置了cookie,则无法从Javascript访问它(注入的js无法读取或写入此类cookie),因此如果它不能窃取cookie值,则不可能httpOnly。这与会话cookie非常相关。在这种情况下,此cookie不受XSS的影响。请注意,这仅仅是因为httpOnly标记 - 没有httpOnly 的Cookie 受到XSS的影响,因为Javascript可以访问它们。

任何cookie(无论标志*)仍将与收到的服务器发送任何请求,但这是csrf的领域,实际上,它是csrf中的基本问题。如果任何人(来自任何网站)向服务器发出请求,则将发送该服务器的任何cookie,如果没有保护,攻击者可以利用csrf。这就是为什么如果你有基于cookie的身份验证需要保护csrf。

另请注意,如果页面容易受到XSS的攻击,那么任何csrf保护都是无用的,因为xss可用于读取令牌,无论它存储在何处。

*旁注:新的SameSite cookie标志会更改此设置,但Chrome仅支持此功能。