CSRF 跨站请求伪造攻击

CSRF 跨站请求伪造攻击

CSRF 原理

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

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 的时候)
posted @ 2020-07-28 19:43  Dimple_Y  阅读(152)  评论(0编辑  收藏  举报