浏览器基础原理-安全: CSRF攻击

CSRF攻击是黑客利用用户的登录状态在第三方站点发起对目标网站的恶意请求。常见攻击方式包括Get请求伪装、POST请求表单和诱导点击链接。防止CSRF攻击的方法包括设置Cookie的SameSite属性、验证请求来源以及使用CSRFToken进行请求验证。
摘要由CSDN通过智能技术生成

CSRF(Cross-site request forgery)跨站请求伪造

概念: 是指黑客引诱用户打开黑客的网站,在黑客的网站中,利用用户的登录状态发起的跨站请求。简单来讲,CSRF 攻击指黑客利用了用户的登录状态,并通过第三方的站点来做一些坏事

攻击方式:

1-自动发起 Get 请求

比如将转账请求隐藏在 img 标签内, 欺骗浏览器这是一张图片, 等加载时, 再发起转账请求

2-自动发起 POST 请求

网页内构建隐藏表单, 里面含有转账接口. 通过诱导用户登陆的方式, 来让表单自动提交, 从而执行转账操作.

3-引诱用户点击链接

通过诱导用户点击含有转账接口的链接, 来实现用户资金的转移.

综上, CSRF攻击不需要将恶意代码注入用户的页面, 而是利用服务器的漏洞和用户的登录状态来实现出乎意料的攻击.

如何防止 CSRF 攻击:

发起 CSRF 攻击的三个必要条件:

1-目标网站要有 CSRF 漏洞

2-用户要登录过目标站点, 并且在浏览器上保持有该站点的登录状态

3-需要用户打开一个第三方站点, 可以是黑客的站点, 也可以是一些论坛

满足以上三个条件, 黑客就可以进行 CSRF 攻击了.

如何让服务器避免遭受到 CSRF 攻击, 通常有以下几种途径:

1-充分利用好 Cookie 的 SameSite 属性

设定 Cookie 中的 SameSite 属性来实现对某些关键 Cookie 数据的传送

2-验证请求的来源站点

通过设定HTTP请求头中的Referer和Origin属性来判断是否禁止第三方站点的请求

3-CSRF Token

在向服务器发起请求时, 服务器生成一个 CSRF Token. 若用户端要发起转账请求, 则需要带上这个Token, 同时 服务器 会检验该 Token 是否合法, 若是第三方发起的请求, 没有或者非法都会导致拒绝.

参考: 极客时间-浏览器工作原理与实践

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值