【问题标题】:csrf token per request in vaadinvaadin 中每个请求的 csrf 令牌
【发布时间】:2018-11-22 23:55:45
【问题描述】:

我是 vaadin 的新手,我想实现 csrf 令牌保护,我发现 vaadin 已经在请求中注入 csrf 令牌,但问题是 csrf 令牌在每个请求中都是相同的,它们在 vaadin 中是否有任何配置在每个请求中生成新令牌?或者他们是否有任何方式强制 vaadin 在创建新会话时重新生成 csrf 令牌?

我使用以下代码解决了会话固定漏洞,但问题是 csrf 令牌与之前的会话令牌保持不变;因为 reinitializeSession 方法使用新的 jsessionID 创建了一个具有相同内容的新会话

VaadinService.reinitializeSession()

【问题讨论】:

    标签: vaadin csrf csrf-protection session-fixation


    【解决方案1】:

    目前有一个用于添加此类功能的拉取请求:https://github.com/vaadin/framework/pull/10953。

    【讨论】:

    • 感谢您的回答,我刚刚检查了链接,我认为它与我的问题无关,如果您能提供更多详细信息!
    • 就是这样。动态更改每个会话令牌的问题是用户可能同时在多个浏览器选项卡中打开应用程序,因此共享相同的VaadinSession 和令牌。如果存储在会话中的令牌被其中一个选项卡中的操作更改,则其他选项卡中的应用程序状态将不会意识到该更改,因此会在用户下次尝试执行任何操作时失败并显示非常奇怪的错误消息和他们一起。
    • open pull request 中提交的代码是否解决了这个问题?
    • 拉取请求中的方法效果稍好一些(但仍不完美),因为它基于所有打开的应用程序自动发现的 cookie。
    • 有什么办法可以强制 vaadin 在创建新会话时生成新的 csrf 令牌?我使用这个 VaadinService.reinitializeSession() 在用户登录后创建新会话,但问题是 csrf 令牌与前一个会话令牌保持不变;因为 reinitializeSession 方法创建了一个新的会话,它具有相同的旧会话内容但具有新的 jsessionID
    猜你喜欢
    • 2014-01-06
    • 2013-04-25
    • 2016-06-21
    • 2017-06-29
    • 2012-05-15
    • 2016-10-15
    • 2012-11-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多