关于RESTful的csrf攻击

首先说明csrf保护的三种方式(http://insidethecpu.com/2013/09/23/encrypted-token-pattern/):

  1. 同步的token,即是需要在服务器保存session的方式。这个的缺点是需要占用内存,同时如果有负载平衡的话,session的保存会有问题。

  2. Double submit cookies。这个主要问题是cookies不能标识为httponly。然后如果字域名被xss攻击了,则会使得上级域名出问题。

  3. Encrypted Token Pattern.这个参考:

       在使用jsp,jinja这样的模板的网站中,要解决csrf的问题一般都比较简单。直接在服务端生成到返回的面页中,当用户提交的时候,再做比较就可以解决问题了。

       现在以API为中心的应用开始流行了。也是自己在做这个的时候才遇到 的这个问题。没有状态的API服务器。如何处理这样的csrf攻击?

       在GOOGLE中看到的是double submit cookies。就是在request的请求参数中和cookies中加入一样的cookies,到了后台进行验证是否一样即可。此文中对此有了相关的说明。

       有几个要点:

  1. 每个请求最好都要修改cookies

  2. (zero the anti-CSRF cookie directly after each backend cal)每次请求后都要清空cookies。应该是这个意思 吧。。


记录几个重要的网址:

使用简单的cookie来完成,但是cookie只写在header里

你可能感兴趣的:(api,CSRF)