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 跨站请求伪造攻击的主要内容,如果未能解决你的问题,请参考以下文章