-
CSRF攻击的概念
-
CSRF原理
-
方法一、验证HTTP Refer字段
-
方法二、请求地址中添加token并验证
========================================================================
CSRF:跨站点请求伪造(cross-site request forgery)。简单来说就是,攻击者借用受害者的身份,向有CSRF漏洞的网站发送恶意请求。
举个例子:
攻击者盗用了受害者的身份,然后借用这个身份发送请求,如转账、购买商品等等。
=====================================================================
先在这个情节中设定三个对象:
-
有CSRF漏洞的网站:WebA
-
攻击者:WebB
-
受害者:User
其中WebB是攻击者自己做的一个网站,是一个危险网站。
流程如下:
-
首先,User是网站WebA的用户,User访问并登录该网站;
-
登录验证后,网站WebA自然要给客户端User返回Cookie信息,并保存在浏览器或本地;
-
User在没有退出WebA的情况下,又去访问了危险网站WebB;
-
WebB接收到了User的请求,返回一些恶意代码。该恶意代码发出了要访问WebA的请求request;
-
因为WebB发出要访问WebA的请求,则带着还保存在浏览器/本地的Cookie,直接去访问WebA;
-
由于访问请求一定会带上Cookie给服务器端即WebA,且Cookie实际上已经被攻击者WebB盗用了,所以WebA却无法判断该请求是User还是攻击者WebB发出的。故WebB成功地盗用User的身份,拥有了User访问WebA的权限,以User的身份去访问WebA,以达到攻击的目的。
通过这个例子,我们可以发现,实际上Cookie是不那么安全的。
因为我们无法保证,自己在访问WebA的时候,不会去打开别的网站;也不能保证我们的Cookie信息会过期而不被攻击者盗用。
所以有下面三个方法去防范CSRF攻击
-
验证HTTP Refer字段
-
请求地址中添加token并验证
-
使用验证码
=================================================================================
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
ps://bbs.csdn.net/topics/618191877)
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!