Cookie清除后,CSRF / clickjacking是否可能?

时间:2019-01-15 19:42:33

标签: csrf clickjacking

据我了解,CSRF和Clickjacking使用的事实是浏览器会在对网页的请求(即来自该域的网页)中自动包含cookie。

因此,从根本上讲,攻击者将准备一个恶意网站并呼叫某个URL(例如Gmail),希望该URL的cookie仍保存在我的浏览器中。还是他们可以以某种方式找出我当前在另一个选项卡中登录过的网页,然后针对这些网页量身定制攻击?

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

1 个答案:

答案 0 :(得分:1)

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

关于您的其他问题-请确保,如果您的浏览器未发送身份验证信息,则CSRF是不可能的。请注意,这并不是严格意义上的cookie,HTTP基本身份验证也会保存在会话中,并且客户端证书也会自动发送。也许微不足道,但有时却很重要。 :)还请注意,仅注销UI并不一定会使CSRF无效-服务器还需要正确注销您,但并非总是如此。举一个简单的例子,考虑一下SAML SSO,其中您与身份提供者进行了长期会话,而与应用程序进行了短暂的会话。您单击注销,您的应用程序会话被终止,但是可能没有单个注销。然后,当您尝试使用带有完整http帖子的内容尝试CSRF时,您可能会重定向到IdP,然后重定向到应用程序,该应用程序可能会自动将您登录,并且执行了操作-无需任何用户交互,从而简化了CSRF。再次可能是一个边缘案例,但是从某种意义上说,这整个事情都是关于边缘案例的。