首页 文章

将REST服务的CSRF令牌包含为Http响应头是否安全?

提问于
浏览
2

我有一组受CSRF保护的REST服务,使用类似于OWASP的Synchronizer Token Pattern(https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)_Prevention_Cheat_Sheet) . *使用Java和JAX-RS实现REST 使用Spring Security CSRF令牌实现安全性 HTTP PUT,POST和DELETE受到保护

在我的Web-App启动时,我在HTML页面中编写了正确的CSRF令牌,然后应用程序在每个请求的请求标头中包含令牌“X-CSRF-HEADER” .

我也有直接访问URL的客户端(例如curl命令行和其他人) .

备用客户端需要以某种方式获取CSRF令牌(当然是在进行身份验证之后) .

将令牌包含为GET请求的HTTP响应头是否安全?如果是这样,那么我可以将它包含在响应标头中,客户端可以将其读出并将其包含在将来的请求标头中 .

这样安全吗?

1 回答

  • 4

    通常认为在响应头中包含CSRF令牌是安全的 . 就像请求的主体一样,响应头在SSL响应中加密,并且不能跨域访问 . 默认情况下,CSRF令牌未呈现给响应的原因是为了确保在必要时延迟创建会话 . 有关详细信息,请参阅SEC-2276

相关问题