Java 如何检查警卫是否在我的网站上抵御CSRF攻击?

Java 如何检查警卫是否在我的网站上抵御CSRF攻击?,java,web-applications,csrf,owasp,Java,Web Applications,Csrf,Owasp,我有一个与maven一起构建的项目。我想确保跨站点请求伪造防护()在每个页面上都有效。 mvn干净安装后,web.xml、pom.xml、属性文件和csrfguard.jar以正确的方式出现 我如何检查警卫是否工作,如果没有,我做错了什么 谢谢 添加到pom.xml: <dependency> <groupId>org.owasp</groupId> <artifactId>csrfguard</artifactId>

我有一个与maven一起构建的项目。我想确保跨站点请求伪造防护()在每个页面上都有效。 mvn干净安装后,web.xml、pom.xml、属性文件和csrfguard.jar以正确的方式出现

我如何检查警卫是否工作,如果没有,我做错了什么

谢谢

添加到pom.xml:

<dependency>
    <groupId>org.owasp</groupId>
    <artifactId>csrfguard</artifactId>
</dependency>

org.owasp
csrfguard
添加到web.xml:

<filter-name>CSRFGuard</filter-name>
    <filter-class>org.owasp.csrf.CSRFGuard</filter-class>
    <init-param>
        <param-name>error-page</param-name>
        <param-value>/page/error</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>CSRFGuard</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>
<context-param>
    <param-name>Owasp.CsrfGuard.Config</param-name>
    <param-value>WEB-INF/Owasp.CsrfGuard.properties</param-value>
</context-param>
<context-param>
    <param-name>Owasp.CsrfGuard.Config.Print</param-name>
    <param-value>true</param-value>
</context-param>
<listener>
    <listener-class>org.owasp.csrfguard.CsrfGuardServletContextListener</listener-class>
</listener>
<listener>
    <listener-class>org.owasp.csrfguard.CsrfGuardHttpSessionListener</listener-class>
</listener>
CSRFGuard
org.owasp.csrf.CSRFGuard
错误页
/页面/错误
CSRFGuard
/*
Owasp.CsrfGuard.Config
WEB-INF/Owasp.CsrfGuard.properties
Owasp.CsrfGuard.Config.Print
真的
org.owasp.csrfguard.CsrfGuardServletContextListener
org.owasp.csrfguard.CsrfGuardHttpSessionListener
-编辑


我在请求中检查了令牌。没有发送代币。我遗漏了什么?

它说,如果令牌不存在,那么HTTP请求将被忽略。因此,您应该获得一个浏览器扩展,它允许您查看HTTP请求。然后,复制一个请求并省略安全令牌,看看它是否会丢弃您的请求

当用户与此HTML交互时,CSRF预防令牌(即。 加密随机同步器令牌)随 相应的HTTP请求。这是OWASP的责任 CSRFGuard,以确保令牌存在并且对当前服务器有效 HTTP请求。向受保护资源提交请求的任何尝试 如果没有正确的对应令牌,则在中被视为CSRF攻击 进步和进步被丢弃。在放弃请求之前,CSRFGuard 可以配置为执行一个或多个操作,例如日志记录方面 并将用户重定向到登录页


如果你知道什么是a,那么你应该能够在你的站点上执行这样的攻击来测试它。DOM中没有我可以查找的元素吗?你可以检查一下:谢谢。检查我的编辑。好的,这是我一个问题的答案。现在是更难的一个。我的请求中没有令牌。我遗漏了什么?正确检查您的查询字符串..我的查询字符串未更改可能我已经检查过了,但是我必须自己在表单中插入一些内容吗?