文档章节

关于RESTful的csrf攻击

Isronik
 Isronik
发布于 2015/12/16 17:20
字数 385
阅读 234
收藏 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
高级程序员
私信 提问
Web安全系列——CSRF攻击

CSRF简介 CSRF全称为Cross Site Request Forgery,翻译成中文是跨站点请求伪造,是攻击者通过伪装受信任的用户,来想网站发起请求的的一种恶意攻击。听起来很像XSS攻击,但是又与XSS攻击有着...

邱振源的博客
2017/11/18
0
0
MVC Html.AntiForgeryToken() 防止CSRF攻击 - CSDN博客

原文:MVC Html.AntiForgeryToken() 防止CSRF攻击 - CSDN博客 (一)MVC Html.AntiForgeryToken() 防止CSRF攻击 MVC中的Html.AntiForgeryToken()是用来防止跨站请求伪造(CSRF:Cross-site requ......

杰克.陈
2017/11/28
0
0
CSRF/XSRF 跨站请求伪造

CSRF(Cross Site Request Forgery, 跨站域请求伪造)也称 XSRF, 是一种网络的攻击方式,它在 2007 年曾被列为互联网 20 大安全隐患之一。其他安全隐患,比如 SQL 脚本注入,跨站域脚本攻击...

给你添麻烦了
01/13
0
0
Cookie-Form型CSRF防御机制的不足与反思

Cookie-Form型CSRF防御机制的不足与反思 离别歌2016-09-2650 阅读 cookieformcsrf 今天看了 https://hackerone.com/reports/26647 有感。这个漏洞很漂亮,另外让我联想到很多之前自己挖过的漏...

离别歌
2016/09/26
0
0
关于csrf,什么是csrf,怎么防范它?

先说下CSRF的定义 跨站请求伪造(英语:Cross-site request forgery),也被称为 one-click attack 或者 session riding,通常缩写为 CSRF 或者 XSRF, 是一种挟制用户在当前已登录的Web应用...

鲍康霖
08/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

重构系统的套路-面向对象设计原则

前言 一讨论系统重构,很多人不明所以的就开始画各种架构图,写各种高可用,高并发设计方案,其实不知道很多系统的腐朽是从代码失控开始的,所以重构系统之前,架构师需要深谙面向对象设计之...

春哥大魔王的博客
6分钟前
1
0
Private Cloud和On-Premise区别

大家常常听到Private Cloud和On-Premise两个术语,下面通过相关背景介绍区分两者的差别: Private Cloud定义 维基百科云计算 词条中解释了Private Cloud,其含义为“Private cloud is cloud ...

突突突酱
7分钟前
0
0
Linux-ubuntu学习(第一天)

Linux第一天 1.Linux与Windows的区别 Windows是桌面OS。Linux是作为服务器的OS。Linux作为服务器是更安全更稳定的。 2.虚拟机的理解 学习java的时候有个java虚拟机JVM。如果想要在windows上运...

柠檬果过
18分钟前
0
0
以太坊应用开发接口:JSON RPC API

以太坊应用开发接口指的是以太坊节点软件提供的API接口,去中心化应用可以利用这个接口访问以太坊上的智能合约。以太坊应用开发接口采用JSON-PRC标准,通常是通过HTTP或websocket提供给应用程...

汇智网教程
26分钟前
3
0
排序--二分插入排序

二分插入排序是对直接插入排序的一个优化,在排序--直接插入排序中已经分析过直接插入排序的最坏时间复杂度是平方级别的,二分插入排序则是通过二分查找对寻找插入位置进行了优化,在找到插入...

FAT_mt
37分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部