前端面经 关于CSRF攻击的原理和防范

  • CSRF攻击的概念

  • CSRF原理

  • 方法一、验证HTTP Refer字段

  • 方法二、请求地址中添加token并验证

CSRF攻击的概念

========================================================================

CSRF:跨站点请求伪造(cross-site request forgery)。简单来说就是,攻击者借用受害者的身份,向有CSRF漏洞的网站发送恶意请求。

举个例子:

攻击者盗用了受害者的身份,然后借用这个身份发送请求,如转账、购买商品等等。

CSRF原理

=====================================================================

先在这个情节中设定三个对象:

  • 有CSRF漏洞的网站:WebA

  • 攻击者:WebB

  • 受害者:User

其中WebB是攻击者自己做的一个网站,是一个危险网站。

流程如下:

  1. 首先,User是网站WebA的用户,User访问并登录该网站;

  2. 登录验证后,网站WebA自然要给客户端User返回Cookie信息,并保存在浏览器或本地;

  3. User在没有退出WebA的情况下,又去访问了危险网站WebB;

  4. WebB接收到了User的请求,返回一些恶意代码。该恶意代码发出了要访问WebA的请求request;

  5. 因为WebB发出要访问WebA的请求,则带着还保存在浏览器/本地的Cookie,直接去访问WebA;

  6. 由于访问请求一定会带上Cookie给服务器端即WebA,且Cookie实际上已经被攻击者WebB盗用了,所以WebA却无法判断该请求是User还是攻击者WebB发出的。故WebB成功地盗用User的身份,拥有了User访问WebA的权限,以User的身份去访问WebA,以达到攻击的目的。

通过这个例子,我们可以发现,实际上Cookie是不那么安全的。

因为我们无法保证,自己在访问WebA的时候,不会去打开别的网站;也不能保证我们的Cookie信息会过期而不被攻击者盗用。

所以有下面三个方法去防范CSRF攻击

  • 验证HTTP Refer字段

  • 请求地址中添加token并验证

  • 使用验证码

方法一、验证HTTP Refer字段

=================================================================================

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
ps://bbs.youkuaiyun.com/topics/618191877)

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值