文档章节

关于RESTful的csrf攻击

Isronik
 Isronik
发布于 2015/12/16 17:20
字数 385
阅读 1.3K
收藏 1

「深度学习福利」大神带你进阶工程师,立即查看>>>

首先说明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里

Isronik
粉丝 1
博文 15
码字总数 3673
作品 0
广州
高级程序员
私信 提问
加载中
请先登录后再评论。
漏洞检测工具--Peach Fuzzer

Peach是一种用Python编写的 Fuzzer。这种工具有助于发现并公开许多漏洞,并认为是黑客和安全团体中最流行的工具之一。为了利用Peach框架,必须创建Phthon脚本,脚本 中包含了在服务器上执行的...

匿名
2013/02/06
8.9K
1
Hadoop 管理监控工具--Apache Ambari

Apache Ambari 是一个基于 Web 的 Apache Hadoop 集群的供应、管理和监控。Ambari目前已支持大多数Hadoop组件,包括HDFS、MapReduce、Hive、Pig、 Hbase、Zookeper、Sqoop和Hcatalog等。 Ap...

匿名
2012/12/25
2.9W
3
价值100W的经验分享: 基于JSPatch的iOS应用线上Bug的即时修复方案,附源码.

限于iOS AppStore的审核机制,一些新的功能的添加或者bug的修复,想做些节日专属的活动等,几乎都是不太可能的.从已有的经验来看,也是有了一些比较常用的解决方案.本文先是会简单说明对比大部分...

ios122
2015/12/07
2K
1
如何给Vanilla(OpenResty)添加一个路由协议

源起 QQ群经常看到有同学问(Vanilla/OpenResty开发:205773855,OpenResty技术交流2群:481213820): 如何让Vanilla支持Restful(或者Vanilla如何支持xxxx样子的URL访问)? Vanilla的路由...

iDev_周晶
2016/01/16
998
1
LET'S DJ:web.py无缝迁移到django

DO: 前提是必须要配置好django使用jinja2模版,保持与老项目模版引擎一致。 Django通用视图最基础的类是View,其他如TemplateView、RedirectView等都继承自它,具体用法参见:Django 通用视...

cwalet
2016/04/29
283
0

没有更多内容

加载失败,请刷新页面

加载更多

spring @Async异步方法使用及原理说明

异步类: package com.example.spring.async; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import com.example.spring.MyLog......

不知道啊
05/21
0
0
python pandas拆分单元格

拆分单元格是excel中经常遇到的内容之一。那么在pandas中如何实现呢? 例如有如下数据: >>> import pandas as pd >>> import numpy as np >>> df=pd.read_excel(r'D:/myExcel/1.xlsx') >>> d......

python小工具
06/20
0
0
Electron开发跨平台桌面程序入门教程

最近一直在学习 Electron 开发桌面应用程序,在尝试了 java swing 和 FXjava 后,感叹还是 Electron 开发桌面应用上手最快。我会在这一篇文章中实现一个HelloWord的应用程序,记录学习过程中...

薛勤i
03/13
0
0
Java8中的流操作-基本使用&性能测试

一、流(Stream)简介 流是 Java8 中 API 的新成员,它允许你以声明式的方式处理数据集合(通过查询语句来表达,而不是临时编写一个实现)。这有点儿像是我们操作数据库一样,例如我想要查询出...

我没有三颗心脏
2019/08/03
0
0
能力不错的大厂高P,为什么过不了小厂的试用期?

图片 :来自Pexels 前阵子,我的一个大学同学跟我吐槽,“他去年从大厂跳槽到了一家C轮创业公司担任技术leader,今天居然被老板通知试用期没通过!” 这位同学在加入小厂之前,有过两段大厂经...

IT人的职场进阶
03/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部