CSRF 跨站请求伪造攻击

Posted x945669

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CSRF 跨站请求伪造攻击相关的知识,希望对你有一定的参考价值。

CSRF 跨站请求伪造攻击

CSRF 原理

  下图大概描述了 CSRF 攻击的原理,可以理解为有一个小偷在你配钥匙的地方得到了你家的钥匙,然后拿着要是去你家想偷什么偷什么。技术图片

CSRF 攻击必须要有三个条件:

(1)用户已经登录了站点 A,并在本地记录了 cookie
(2)在用户没有登出站点 A 的情况下(也就是 cookie 生效的情况下),
    访问了恶意攻击者提供的引诱危险站点 B (B 站点要求访问站点A);
(3)站点 A 没有做任何 CSRF 防御

预防 CSRF

CSRF 的防御可以从服务端和客户端两方面着手,防御效果是从服务端着手效果比较好,
现在一般的 CSRF 防御也都在服务端进行。服务端的预防 CSRF 攻击的方式方法有多种,
但思路上都是差不多的,主要从以下两个方面入手:

(1)正确使用 GET,POST 请求和 cookie

(2)在非 GET 请求中增加 token

一般而言,普通的 Web 应用都是以 GET、POST 请求为主,还有一种请求是 cookie 方式。
我们一般都是按照如下规则设计应用的请求:

(1)GET 请求常用在查看,列举,展示等不需要改变资源属性的时候(数据库 query 查询的时候)

(2)POST 请求常用在 From 表单提交,改变一个资源的属性或者做其他一些事情的时候
   (数据库有 insert、update、delete 的时候)

以上是关于CSRF 跨站请求伪造攻击的主要内容,如果未能解决你的问题,请参考以下文章

CSRF跨站请求伪造

CSRF跨站请求伪造的安全防护

安全测试之跨站请求伪造(CSRF)攻击

CSRF跨站请求伪造攻击

安全性测试入门 :CSRF 跨站请求伪造攻击和防御

Pikachu:CSRF(跨站请求伪造)