注销时应刷新抗CSRF令牌吗?

时间:2019-12-18 01:38:58

标签: http security csrf

用户从基于会话的站点注销时,是否应刷新其相应的反csrf令牌(存储在会话中)?

如果应该刷新令牌,那么为什么要专门?哪些可能的漏洞可能导致不刷新反CSRF令牌?

1 个答案:

答案 0 :(得分:0)

官方OWASP advice表示,应该刷新相应的反CSRF令牌,尽管这样做实际上没有什么安全益处:< / p>

  

请注意,该值对于每个会话都应该是唯一的。这样可以确保每个表单/请求都与经过身份验证的用户相关联,因此可以免受CSRF的攻击。 [...]令牌生成的标准频率是每个会话,因此请确保您的会话具有合理/可配置的超时。可以基于每个请求发行新令牌。但是,如果这种方法甚至适合您的应用程序,那么增加的保护也可能微不足道。

但是linked StackExchange question接受的答案确实具有安全性,如果应用于在会话阶段进行主要更改的任何地方(通常是仅在“登录/注销”屏幕上显示。这样可以防止session fixation attack(攻击者劫持受害者的​​活动会话):

Session Fixation

这是通过Cookie盗窃,客户端脚本,滥用<meta>标签或HTTP标头来完成的。在登录流程中重置抗CSRF令牌可以防止这种情况。但是,请注意,仅应在此类情况下应用辅助令牌,因为在使用后退按钮和在多个选项卡中浏览方面存在问题,因此存在可用性成本。