前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Web安全系列——CSRF攻击

Web安全系列——CSRF攻击

作者头像
windealli
发布2023-10-13 11:31:23
3470
发布2023-10-13 11:31:23
举报
文章被收录于专栏:windealliwindealli

前言

CSRF 攻击是Web应用中最常见的攻击方式之一。

CSRF攻击给网站身份验证、用户账户和个人隐私带来极大威胁。了解 CSRF 攻击的流程、原理与防御措施,是构建安全可靠的Web应用程序的必要条件。

什么是CSRF攻击

CSRF,全称是Cross-Site Request Forgery,中文名为跨站请求伪造。

CSRF攻击是指指恶意攻击者利用用户已经登录了另一个网站的“身份”来伪造用户的请求(例如提交一个表单)。

CSRF攻击的流程与原理

CSRF攻击的流程与原理如下图所示

  • 首先,受害人访问正常站点aa.com,并生成了登录态(以cookie等方式存储在浏览器中)
  • 接着,受害人访问攻击者刻意构造的看似无害的站点bb.com,bb.com中的恶意页面在加载时会像aa.com发起恶意请求
  • 由于处在同一浏览器中,攻击者可以直接使用aa.com的cookie(登录态)

CSRF 攻击的危害:

CSRF 攻击通常会对 Web 应用程序和用户造成严重威胁和不良影响:

  • 窃取敏感信息: 攻击者可能利用 CSRF 攻击来窃取用户的敏感个人信息,例如身份证号码、收入、税务纪录等。
  • 窃取个人或机构账户: 通过 CSRF 攻击,攻击者可能会利用已经验证过的认证信息,从用户的账户中取走资金、转移资金或在用户知情的情况下进行消费等行为。
  • 篡改记录: CSRF 攻击也可能会利用用户的身份执行各种不良行为,例如更改记录、删除条目或篡改信息等。从而导致数据损失和信息可用性受损,特别是对某些爱好者、研究员或初创公司来说,其数据是极其重要的。
  • 拒绝服务攻击: 攻击者通过 CSRF 攻击向目标服务器发送大量的恶意请求,使服务器处理过载,从而使其变得不可用,拒绝服务。
  • 破坏用户信任: 当 CSRF 攻击成功时,很可能会导致用户对受攻击之后的 Web 应用程序产生不信任感。这可能会迫使他们停止使用被攻击的网站,这可能会给企业造成巨大的经济损失和声誉影响。

如何防御 CSRF 攻击:

  • 使用POST请求: 使用GET HTTP 方法会更容易受到攻击,因此可以使用 POST 或其他安全的 HTTP 方法。
  • 用户身份验证: 将用户身份验证放在敏感操作之前,这可以增加攻击者窃取用户身份验证 token 的难度。
  • 检查来源站点: 检查 Web 请求是来自已知的和可信的站点。开发者可以检查请求的来源(Referrer)以及请求的主机(Origin 或者 Host),以确保请求是合法的。
  • 使用 CSRF Token: 为表单和其他交互设定随机令牌,称为 CSRF 中的 Token,在请求提交时一并提交 Token,如此服务器可根据Token验证请求的合法性。
  • 防止 third-party cookies: 禁止第三方 cookie 将 cookie 从一个子域传递到另一个子域以防止攻击者获取凭据。
  • SameSite cookies: 把 cookie 属性设置为SameSite,以防止跨站点 cookie 变成 CSRF 攻击的最佳攻击向量之一。
  • 使用 CSP: CSP 能够指定页面的某些部分从哪些资源进行加载。这样,即使攻击者成功注入了第三方脚本或 iFrame,浏览器也将拒绝加载并执行脚本。

CSRF 与XSS攻击对比

初学者经常将CSRF攻击和XSS攻击搞混,这里将这两者进行简单对比

CSRF

XSS

攻击方式

利用受害者身份凭证进行非法操作

利用网页编码不健壮所造成的网页漏洞

攻击目标

受害者的身份认证

利用受害者自身的浏览器漏洞,实现身份窃取、数据篡改等目的

攻击流程

先让受害者在已经通过身份验证的网站中打开伪造的页面,然后伪造的页面(例如藏在图片中的链接)会发起网络请求进行攻击

在用户的输入中注入恶意脚本,通常是 JavaScript,然后在用户访问包含了这些恶意代码的网站时,这些代码就会在用户的浏览器上执行

总结

CSRF 攻击是互联网世界中的常见安全威胁之一,攻击者通过借用用户身份验证,从而可以执行任意的操作并且不经过用户的认可。为了保护网站与用户的安全,开发人员和用户都应了解 CSRF 攻击并采取一系列预防和防御措施,包括使用合适的随机令牌,设置 SameSite cookies、定期检测、使用防火墙等。

本文参与?腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-09-12,如有侵权请联系?cloudcommunity@tencent.com 删除

本文分享自 海天二路搬砖工 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 什么是CSRF攻击
  • CSRF攻击的流程与原理
  • CSRF 攻击的危害:
  • 如何防御 CSRF 攻击:
  • CSRF 与XSS攻击对比
  • 总结
相关产品与服务
多因子身份认证
多因子身份认证(Multi-factor Authentication Service,MFAS)的目的是建立一个多层次的防御体系,通过结合两种或三种认证因子(基于记忆的/基于持有物的/基于生物特征的认证因子)验证访问者的身份,使系统或资源更加安全。攻击者即使破解单一因子(如口令、人脸),应用的安全依然可以得到保障。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com