代码之家  ›  专栏  ›  技术社区  ›  user3629892

清除cookie后是否可以进行csrf/clickjacking?

  •  0
  • user3629892  · 技术社区  · 7 年前

    据我所知,CSRF和Clickjacking使用这样一个事实,即浏览器自动在对网页的请求中包含cookie(即来自该域的请求)。

    因此basicaly,攻击者会准备一个恶意站点并调用某个URL(例如gmail),希望这个URL的cookie仍然保存在我的浏览器中。或者他们能不知何故地找出,我目前登录到另一个选项卡中的哪些网页,然后根据这些网页定制攻击?

    我更紧迫的问题是:在我清除浏览器缓存或正确注销后,这两种攻击是不可能的,不是吗?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Gabor Lengyel    7 年前

    拥有网站并让您访问的攻击者(标准CSRF场景) 通常在最近的浏览器中无法找到您打开的其他网站 在不同的浏览器选项卡上(尽管有时会弹出几个技巧,例如尝试从猜测的网站嵌入经过验证的资源,并检查是否会导致错误,表明您没有登录-经典)。但他们也可以猜测和执行一个盲目的攻击-也许他们不知道它是否在一个特定的情况下成功,但有时它是足够的,如果偶尔成功,不重要的是哪一个。CSRF是CSRF,不管攻击者是否能发现它是否有效。在更复杂的攻击中,作为构建基块,这些功能仍然有用。

    至于你的另一个问题-当然, 如果您的浏览器没有发送身份验证信息,则无法使用CSRF。 . 请注意,这并不意味着严格意义上的cookie、HTTP基本身份验证也会为会话保存,客户端证书也会自动发送。可能是边缘的,但有时非常重要。:)还要注意,简单地在UI上注销并不一定会使CSRF失效-服务器还需要正确地注销您,这并不总是如此。对于一个简单的示例,请考虑SAML SSO,其中您与标识提供者进行了长期会话,而与应用程序进行了短期会话。单击“注销”,应用程序会话将终止,但可能没有单个注销。当使用完整的HTTP POST尝试CSRF时,您可能会被重定向到IDP,然后重定向到应用程序,该应用程序可能会自动登录您,并执行操作-无需任何用户交互,从而促进CSRF。也许是边缘案例,但从某种意义上说,这一切都是关于边缘案例的。

    推荐文章