web前端安全性——CSRF跨站请求伪造

本文详细介绍了CSRF的概念,它与XSS的区别,攻击流程,常见形式如GET、POST和链接类型,以及其带来的危害。同时,文章着重讲解了防范CSRF的方法,包括用户提示和安全措施如使用Token和双重Cookie。
摘要由CSDN通过智能技术生成

承接上篇讲述的XSS跨站脚本攻击

跨站请求伪造(CSRF)

1、概念

CSRF(Cross-site request forgery) 跨站请求伪造:攻击者诱导受害者进入第三方网站,在第三方网站中,向被攻击网站发送跨站请求。利用受害者在被攻击网站已经获取的注册凭证,绕过后台的用户验证,达到冒充用户对被攻击的网站执行某项操作的目的。跨站请求伪造,是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。

2、与XSS区别

跟跨网站脚本(XSS)相比,XSS利用的是用户对指定网站的信任,CSRF 利用的是网站对用户网页浏览器的信任。CSRF漏洞的本质是浏览器在不应该发送cookie的地方发送cookie。
cookie相关知识:cookie的属性:key、value、expires、domain、path、secure、httponly(只能后端修改)、samesite(禁止第三方获得cookie);只要有请求就会携带cookie;cookie无法验证是从哪个网站过来的;cookie遵守的是同站策略不是同源策略

3、CSRF流程

(1)目标用户已经登录了网站,能够执行网站的功能
(2)目标用户访问了攻击者构造的URL

4、CSRF的常见攻击

(1)GET类型的CSRF

<img src="攻击方让受害者做的网站请求”>

(2)POST类型的CSRF
hidden隐藏域

<form action="攻击方让受害者做的网站请求”method=POST>
  <input type="hidden”name="account” value="xiaoming”/>
  <input type="hidden” name="amount”value="10000”/>
  <input type="hidden”name="for" value="hacker" />
</form>
<script> document.forms[0].submit();</script>

(3)链接类型的CSRF

<a href="攻击方让受害者做的网站请求”taget="_blank">
信息
<a/>

5、CSRF的危害

(1)攻击一般发起在第三方网站,而不是被攻击的网站。被攻击的网站无法防止攻击发生。攻击利用受害者在被攻击网站的登录凭证,冒充受害者提交操作;而不是直接窃取数据。整个过程攻击者并不能获取到受害者的登录凭证,仅仅是“冒用”;
(2)跨站请求可以用各种方式:图片URL、超链接、CORS(跨域资源共享)、Form提交等等。部分请求方式可以直接嵌入在第三方论坛、文章中,难以进行追踪;
(3)发送恶意请求消息;
(4)配合蠕虫扩散;
(5)盗取信息

6、CSRF的防范

(1)用户跳转第三方网页的提示(提醒用户,主要增加用户防范)
如:CSDN在文章中的一些链接跳转时会提示用户
在这里插入图片描述
(2)阻止不明外域的访问
前端采用方法:用Token代替Cookie;双重Cookie;samesite
注意:通过前后台一起实现CSRF渗透攻击防范

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端绘梦师

你的鼓励是我最大的动力!!!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值