gpt4 book ai didi

security - 网络安全 : Preventing CSRF attack

转载 作者:行者123 更新时间:2023-12-01 03:38:01 27 4
gpt4 key购买 nike

我正在关注基于 spring 框架 3.2.4 的应用程序的本教程

http://springdiaries.blogspot.be/2012/12/web-security-preventing-csrf-attack.html#comment-form

关键是我已经检查了 session 中的所有对象,但我没有找到任何带有 key OWASP_CSRFTOKEN 的对象,这怀疑是不是工作不正常?

最佳答案

这不完全是您问题的答案,不幸的是,如果没有神奇的 Crystal 球,答案太模糊了 ^^,但您应该尝试以下几点:

  • 检查您的请求是否来自与以下内容之一匹配的 URLunprotected中定义的模式Owasp.CsrfGuard.properties配置文件(这些值是
    来自 OWASP docs ;你应该设置不同的):

  • .
    org.owasp.csrfguard.unprotected.Tag=/Owasp.CsrfGuard.Test/tag.jsp
    org.owasp.csrfguard.unprotected.JavaScriptServlet=/Owasp.CsrfGuard.Test/JavaScriptServlet
    org.owasp.csrfguard.unprotected.Html=*.html
    org.owasp.csrfguard.unprotected.Public=/MySite/Public/*
  • 在启动/应用程序加载和接收客户端请求时检查您的 Web 服务器/servlet 容器日志是否有错误。
  • 设置断点 herehere并在
    Debug模式以确保您的类正在加载并且 token 是
    被要求。
  • 一一查看所有配置参数。
  • 阅读 the project wiki和文档仔细:
  • Configuration
  • Installation
  • User Manual

  • 无论如何,您都不必修改数据库架构。这不是 OWASP CRSF 保护的工作方式(生成的 token 存储在 session 中,而不是持久保存在数据库中)。

    还值得一提的是,您正在关注一篇过时的博客文章:如果您使用的是 Spring,则根本不需要使用 OWASP CSRF 防护。您应该使用具有 built in CSRF protection 的 spring-security 身份验证,这更容易设置。

    查看教程 on this page关于如何使用 CSRF 保护设置基于 HTML 表单 + SQL 数据库的身份验证(另外,不要错过 bcrypt 密码散列之一;设置非常容易,在某些时候您会很高兴您存储了安全的散列而不是明文密码)。

    你会看到你根本不需要修改数据库来使用 spring-security 添加 CSRF 保护,因为 CSRF 保护 token 是 session 存储的。

    设置需要 5-15 分钟; 30 分钟最适合 Spring 新手。简而言之,框架负责生成和验证 token ,并在无效请求上返回身份验证错误。

    您只需要包含 <csrf /> spring-security.xml 配置文件中的标签 <http>标签。

    如果您使用基于 html 表单的身份验证,您还必须在表单中包含以下隐藏输入:
    <input type="hidden" name="${_csrf.parameterName}"
    value="${_csrf.token}" />

    关于security - 网络安全 : Preventing CSRF attack,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33041997/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com