访问OWASP CSRFGuard的Restful Service受到不同域的保护

时间:2015-03-23 19:31:29

标签: rest spring-mvc cross-domain owasp

  1. 我的应用程序是使用SPRING MVC构建的,我暴露了一些Restful URI。 (工作正常) 例如 - http://example.org/alert/alerts //获取登录用户的警报列表。

  2. 我已按照以下链接使用OWASP CSRFGuard配置了跨站点请求伪造(CSRF)申请 - (工作正常) https://www.owasp.org/index.php/CSRFGuard_3_Configuration#Overview

  3. Restful服务目前已由同一应用程序的UI使用而没有任何问题。 (工作正常) 例如 - 作为同一WebApp的一部分的数据网格通过调用此Restful服务(AJAX请求)来显示警报列表

  4. 问题:当我尝试从其他域/ Chrome Rest客户端访问相同的Restful服务时,除了302之外,它不会返回任何数据。

  5. 如果我在csrfguard.properties中为restful URI设置了“unprotected pages”属性,我可以从RestClient /不同的域访问Restful服务。

  6. 请建议我是否需要进行任何其他配置,以便可以从其他域/ Chrome休息客户端访问受CSRF保护的相同Restful服务。

1 个答案:

答案 0 :(得分:0)

1.如果您在服务器端生成CSRF令牌,那么    在该请求验证会话中提供一个get请求,并将创建的CSRF Token作为隐藏发送给客户端,现在剩下的请求应该是POST,PATCH,PUT或DELETE,它们在每个请求头中都获得CSRF令牌。 2.如果您在客户端生成CSRF令牌,则从第一个请求(即身份验证或授权)获取令牌的值,并将其与自定义过滤器中的每个请求进行比较。