一些框架(例如 Django)支持对没有任何类型会话的用户进行 CSRF 保护。这样做有什么好处?
当用户没有现有会话时,CSRF 攻击可以利用什么漏洞?
一些框架(例如 Django)支持对没有任何类型会话的用户进行 CSRF 保护。这样做有什么好处?
当用户没有现有会话时,CSRF 攻击可以利用什么漏洞?
在我的头顶上:
您可能还想在安全堆栈溢出时引发此问题。
(根据下面的评论更新)即使没有身份验证或其他理由信任浏览器,使用 CSRF 保护还有两个其他微弱的好处:正如 Bobince 指出的那样,它确实可以防止更简单的垃圾邮件攻击(因为他们现在需要连接到第一页以获取 CSRF 令牌),这也意味着如果有人做了恶意行为,服务器日志中的 IP 将链接到他们,而不是客户端的 IP。(当然,这是欺骗性的等等,但它仍然比让它看起来像是来自其他人的攻击变得微不足道要好一些)
如果您使用某种形式的不基于会话关联的持久身份验证(例如:HTTP Basic Auth),则仍需要 CSRF 保护。
对于完全匿名的连接,它仍然可以作为一种混淆措施来阻止来自更愚蠢的机器人的自动表单提交。