【网络渗透】什么是CSRF攻击?

什么是CSRF攻击?

CSRF(Cross Site Request Forgery) 跨站点请求伪造

要完成一次CSRF攻击,受害者必须依次完成两个步骤:

1. 登录受信任网站A,并在本地生成Cookie。
2. 在不登出A的情况下,访问危险网站B。

看到这里,你也许会说:“如果我不满足以上两个条件中的一个,我就不会受到CSRF的攻击”。是的,确实如此,但你不能保证以下情况不会发生:

1.你不能保证你登录了一个网站后,不再打开一个tab页面并访问另外的网站。

2.你不能保证你关闭浏览器了后,你本地的Cookie立刻过期,你上次的会话已经结束。(事实上,关闭浏览器不能结束一个会话,但大多数人都会错误的认为关闭浏览器就等于退出登录/结束会话了…)

3.上图中所谓的攻击网站,可能是一个存在其他漏洞的可信任的经常被人访问的网站。

csrf攻击流程图如下所示:
在这里插入图片描述

CSRF攻击如何避免?

  1. 前端的每个请求都携带csrfToken参数,值为登录后写到浏览器中cookie中的值,后端对csrfToken做校验,因为第三方地址无法获取到其他地址的cookie,所以可避免csrf攻击。

    缺点:前端和后端处理繁琐

  2. 使用oauth2的验证方式,登录系统后将后台返回的accessToken存到localStorage中,每次访问接口时自动带上localStorage中的accessToken

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值