【问题标题】:Using JWT stored in HTTPonly & secure cookie: Vulnerable to CSRF. but not to XSS?使用存储在 HTTPonly 和安全 cookie 中的 JWT:易受 CSRF 攻击。但不是 XSS?
【发布时间】:2018-09-15 04:21:39
【问题描述】:

我了解 webstorage 易受 xss 攻击

而且 Cookie 到 CSRF 也有意义

让我不解的是,好像隐含的说cookie不易受xss攻击,但不是也易受xss攻击吗?

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

【问题讨论】:

    标签: cookies xss


    【解决方案1】:

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

    任何cookie(无论flags*如何)仍然会与任何请求一起发送到接收它的服务器,但那是csrf的领域,实际上,这是csrf的根本问题。如果任何人(来自任何网站)向服务器发出请求,该服务器的任何 cookie 都会被发送,如果没有保护,攻击者可以利用 csrf。这就是为什么如果您有基于 cookie 的身份验证,您需要针对 csrf 进行保护。

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

    *旁注:新的 SameSite cookie 标志改变了这一点,但只有 Chrome 支持。

    【讨论】:

    • 非常感谢!我想如果 csrf 是在“同站点”中完成的,它会被归类为 xss,因为它不是“跨站点”,但它可能看起来更类似于 csrf,因为它利用了相同的缺陷
    猜你喜欢
    • 2020-06-19
    • 2016-04-18
    • 1970-01-01
    • 2019-08-22
    • 1970-01-01
    • 2019-12-17
    • 2015-12-31
    • 2016-04-29
    • 2018-10-19
    相关资源
    最近更新 更多