如果头部而不是POST正文中的验证令牌,CSRF安全风险

时间:2011-09-26 20:08:33

标签: security csrf

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

在自定义标头中发送验证令牌是否同样安全,在服务器端验证自定义令牌的值是否存在于Cookie中?

1 个答案:

答案 0 :(得分:1)

它更安全:)因为即使攻击者可以为当前事务获取有效的csrf令牌,他也必须建立跨域ajax请求以在请求中包含自定义头。如果用户在他的浏览器中禁用了js,那么攻击者就会被禁止:)。然而,它可以被Java applet覆盖......但是你知道如果用户没有受过教育而且攻击者真的很有动力,你可以做的很少;)。

但是有一个问题是,如果用户通过防火墙或公司代理访问我们,则不会转发所有自定义标头。所以我认为这是使用字段而不是自定义标头的主要原因。虽然有一个标题可以阻止XSRF攻击: Origin The web origin concept也可以作为附加信息Content Security Policy 1.1它只是一个草稿但是一些有趣的想法是在那里。