【问题标题】:Is it acceptable to use the same CSRF Token for a whole session?在整个会话中使用相同的 CSRF 令牌是否可以接受?
【发布时间】:2023-03-17 19:48:02
【问题描述】:

是否可以在整个会话中使用相同的 CSRF 令牌?我看不出有任何理由通过不超过几个小时的会话来更改 CSRF 令牌。

有任何理由使用一次性令牌吗?根据我的经验,这些通常会导致糟糕的用户体验。

【问题讨论】:

  • 我想生成随机令牌是首选,因为 XSS+CSRF 攻击无法在整个会话期间用单个令牌保护用户。
  • 一次性令牌的糟糕用户体验究竟是什么?

标签: security token csrf owasp


【解决方案1】:

我建议阅读OWASP's CSRF cheat sheet

在整个会话中使用单个令牌是一个有效的选项,但请注意您的站点可能包含可以绕过您的 CSRF 防御的漏洞。例如 XSS 或只是在发送/接收敏感页面时缺乏加密。

我个人使用会话令牌,但添加了更多。我将可能的用户操作分为几层,其中最高层包含最敏感的操作,最低层是常见的非敏感操作。对于最高层,我要求用户再次进行身份验证,而中间层只需要会话 CRSF 令牌。

希望这会有所帮助:)

【讨论】:

    最近更新 更多