CSRF攻击

简介: CSRF(跨站请求伪造)攻击利用用户已登录状态,诱导其发起非本意的请求。攻击者构造恶意请求,通过钓鱼网站等渠道使用户在不知情下操作目标网站,如发帖、转账等。防御手段包括:使用Token验证、SameSite Cookie属性、检查Referer、禁止第三方携带Cookie等,以保障用户安全。

CSRF攻击

1. 介绍一下CSRF攻击的原理和防御?(Cross Site Request Forgy),打开同一浏览器时其他的网站对本网站造成的影响。原理就是攻击者构造出一个后端请求地址,诱导用户点击或者通过某些途径自动发起请求。如果用户是在登录状态下的话,后端就以为是用户在操作,从而进行相应的逻辑。

举个例子,用户同时打开了A网站和钓鱼网站。 假设A网站中有一个通过 GET 请求提交用户评论的接口,那么攻击者就可以在钓鱼网站中加入一个图片,图片的地址就是评论接口。

Plain Text

复制代码

1

<img src="http://www.domain.com/xxx?comment='attack'"/>

1.1 CSRF攻击原理用户登录A网站A网站确认身份(给客户端cookie)B网站页面向A网站发起请求(带上A网站身份)1.2 CSRF防御Get 请求不对数据进行修改不让第三方网站访问到用户 Cookie阻止第三方网站请求接口请求时附带验证信息,比如验证码或者 TokenSameSite可以对 Cookie 设置 SameSite 属性。该属性表示 Cookie 不随着跨域请求发送,可以很大程度减少 CSRF 的攻击,但是该属性目前并不是所有浏览器都兼容。Token验证cookie是发送时自动带上的,而不会主动带上Token,所以在每次发送时主动发送TokenReferer验证对于需要防范 CSRF 的请求,我们可以通过验证 Referer 来判断该请求是否为第三方网站发起的。隐藏令牌主动在HTTP头部中添加令牌信息禁止第三方网站带cookiessame-site属性。 设置只有同一站点的请求才能携带cookie1.3 CSRF蠕虫如果某个用户打开了被攻击网页,并且用户同时访问了攻击者的网页。 那么攻击者的网页就会使用用户的身份发送一些请求,并且常用用户的身份发布一些评论或文章,里面包含攻击者的网页链接。如果其他用户看到了这个用户的这条评论,都甚至可以不点击,其他用户也会被盗用身份发送一些恶意请求。这样病毒的传播就会越来越快,影响越来越大。1.4 CSRF攻击危害利用用户登录态用户不知情完成业务请求盗取用户资金冒充用户发帖背锅损坏网站名誉


相关文章
|
8月前
|
网络协议 前端开发 JavaScript
HTTP/2 特点解析,从 HTTP/1.1 的痛点到新一代协议的进化
HTTP/2 解决 HTTP/1.1 队头阻塞、低效传输等痛点,通过多路复用、二进制帧、头部压缩等技术大幅提升加载速度,支持服务器推送与流优先级,优化用户体验。虽仍受制于 TCP 丢包问题,但已是当前主流高性能协议,为迈向 HTTP/3 奠定基础。
970 159
|
应用服务中间件 nginx Windows
windows下面Nginx日志切割
windows下面Nginx日志切割
1034 0
windows下面Nginx日志切割
|
前端开发 开发者
类组件(Class component)和 函数式组件(Functional component) 之间有何区别?
类组件(Class component)和 函数式组件(Functional component) 之间有何区别?
472 0
|
9月前
|
数据安全/隐私保护
RBAC权限模型
RBAC(基于角色的访问控制)通过角色管理权限,实现用户与权限的间接关联,提升系统安全性与管理效率。其三大原则:最小权限、职责分离、数据抽象,使权限分配更清晰、灵活,广泛应用于现代权限管理系统中。
|
JavaScript
Vue2日期选择器插件(vue-datepicker-local)
这是一个基于 Vue 的日期选择器组件库,支持年份、月份、日期和时间的选择,并且均可进行范围选择。用户可以自定义日期格式与组件样式。该示例展示了如何配置组件以限制可选日期范围,并提供了相应的代码实现。
3014 0
Vue2日期选择器插件(vue-datepicker-local)
|
关系型数据库 中间件 数据库
Mariadb数据库基本操作之用户管理
Mariadb数据库基本操作之用户管理
829 1
|
Java 数据库连接 Maven
【Spring】掌握 Spring Validation 数据校验
【Spring】掌握 Spring Validation 数据校验
691 0
|
数据挖掘
uniapp uview扩展u-picker支持日历期间 年期间 月期间 时分期间组件
uniapp uview扩展u-picker支持日历期间 年期间 月期间 时分期间组件
1628 10
|
存储 缓存 前端开发
灵魂拷问-前端的作用--性能优化篇
作者最近在尝试对负责的平台进行性能优化,本文整理了些前端性能优化的一些常见策略。