【问题标题】:CSRF Guard - how to validate generated token at server sideCSRF Guard - 如何在服务器端验证生成的令牌
【发布时间】:2015-02-07 00:01:04
【问题描述】:

我对网络安全非常陌生,我正在尝试在我的网络应用程序上实现CSRF Gaurd

我已经在我的 Web 应用程序上完成了所有必需的配置,并且当我执行 ajax 调用或加载 html 页面时,我可以看到令牌 (FWJY-N767-M4HG-DHXT-WCE4-5J08-MV4G-LNV4) 正在生成/注入。我注意到每个请求的令牌都是相同的。

但是,我无法在服务器端验证令牌。根据我的研究,它应该转到CsrfGuardFilter.java 类并验证令牌,但是当我调试时,我可以看到它不会转到CsrfGuardFilter.java 类并且它没有根据令牌验证请求。我也收到了不包含令牌的请求的响应。

有人可以指导我在我的 Web 应用程序上正确实现 CSRF Guard。感谢您的帮助。

【问题讨论】:

    标签: java security web-applications csrf csrf-protection


    【解决方案1】:

    在我的 Web 应用程序中,我使用 GWT 生成前端 JavaScript 在对各种论坛进行了一些研究后,我发现由于 GWT 生成的 JavaScript 代码令牌没有被注入任何 ajax 调用。因此,要在 GWT 代码上实现 CSRF 保护,我需要在 *.nocache.js 脚本之前注入 csrf 保护脚本。

    Helpful link

    【讨论】:

      【解决方案2】:

      你必须在你的 web.xml 中的正确位置声明 CsrfGuardFilter、CsrfGuardServletContextListener 和 CsrfGuardHttpSessionListener。在我的应用程序中,我在会话创建后放置了它。此外,您必须为 JavaScriptServlet 定义映射。

      注意:我在我的应用程序中使用了 owasp csrfguard 3.1.0,我只需要为上述组件定义映射。对于旧版本,您可能需要定义更多属性/组件。

      我从以下示例中获得了帮助以进行实施: https://github.com/aramrami/OWASP-CSRFGuard

      我希望您的问题得到解决,我的回答将在将来对某人有所帮助。

      【讨论】:

        猜你喜欢
        • 2012-12-08
        • 2011-08-24
        • 2014-01-05
        • 2017-10-30
        • 1970-01-01
        • 2015-03-03
        • 2023-01-12
        • 2012-06-20
        • 2017-12-14
        相关资源
        最近更新 更多