如果验证令牌在头部而不是POST主体中存在CSRF安全风险



搜索CSRF预防技术的最广泛发现的解决方案是MVCAntiForgeryToken (MVC 3附带)实现的,其中服务器的客户端必须在post主体中发布验证令牌。在服务器端,它将根据Cookie中存在的令牌进行验证。

在自定义报头中发送验证令牌,并且在服务器端使用cookie中存在的自定义令牌验证值是否同样安全?

这甚至更安全:),因为即使攻击者可以为当前事务获得有效的csrf令牌,他也必须建立一个跨域ajax请求以在请求中包含自定义标头。如果用户在浏览器中禁用了js,那么攻击者就会失败:)。然而,它可以被java小程序覆盖…但是你知道,如果用户没有受过教育,而攻击者真的很有动机,你就无能为力了;)。

但有一个问题,不是所有的自定义头将被转发的情况下,用户是通过防火墙或企业代理访问我们。所以我认为这是使用字段而不是自定义标题的主要原因。虽然有一个防止XSRF攻击的头:Origin, web Origin概念也作为附加信息内容安全策略1.1,它只是一个草案,但其中提出了一些有趣的想法。

最新更新