Redian新闻
>
逆天了,你知道什么是CSRF 攻击吗?如何防范?

逆天了,你知道什么是CSRF 攻击吗?如何防范?

公众号新闻

什么是 CSRF 攻击?

跨站点请求伪造 (CSRF) 攻击允许攻击者伪造请求并将其作为登录用户提交到 Web 应用程序,CSRF 利用 HTML 元素通过请求发送环境凭据(如 cookie)这一事实,甚至是跨域的。

与 XSS 一样,要发起 CSRF 攻击,攻击者必须说服受害者单击或导航到链接。与 XSS 不同的是,CSRF 只允许攻击者向受害者的来源发出请求,并且不会让攻击者在该来源内执行代码。这并不意味着 CSRF 攻击的防御变得不那么重要。正如我们将在示例中看到的,CSRF 可能与 XSS 一样危险。

CSRF的背景

Web 起源于查看静态文档的平台,很早就添加了交互性,在POSTHTTP 中添加了动词,<form> 在 HTML 中添加了元素。以 cookie 的形式添加了对存储状态的支持。

CSRF 攻击利用 Web 的以下属性:cookie 用于存储凭据,HTML 元素(与 JavaScript 不同)被允许发出跨域请求,HTML 元素随所有请求发送所有 cookie(以及凭据)。

CSRF 将所有这些放在一起。攻击者创建了一个恶意网站,其中包含向受害者的来源提交请求的 HTML 元素。当受害者导航到攻击者的站点时,浏览器会将受害者来源的所有 cookie 附加到请求中,这使得攻击者生成的请求看起来像是由受害者提交的。

它是如何工作的?

  • 它仅在潜在受害者经过身份验证时才有效。
  • 攻击者可以通过使用 CSRF 攻击绕过身份验证过程进入网站。
  • CSRF 攻击在具有额外权限的受害者执行某些操作而其他人无法访问或执行这些操作的情况下使用。例如,网上银行。

CSRF 攻击分两个主要部分执行

第一步是吸引用户/受害者点击链接或加载恶意页面。攻击者使用社会工程学来欺骗受害者。

第二步是通过向受害者的浏览器发送伪造的请求来欺骗受害者。此链接会将看似合法的请求重定向到网站。攻击者将拥有他必须寻找的受害者的价值观或详细信息;受害者会认为该请求是合法的。攻击者还将获得与受害者浏览器相关联的 cookie 的详细信息。

CSRF 的关键概念

  • 攻击者向用户访问的站点发送恶意请求,攻击者认为受害者已针对该特定站点进行了验证。
  • 受害者的浏览器针对目标站点进行身份验证,并用于路由目标站点的恶意请求。
  • 在这里,受害者的浏览器或实施了 CSRF 预防方法的站点不会受到攻击;受影响的网站是主要漏洞。

如何防止跨站请求伪造(CSRF)?

有几种 CSRF 预防方法;其中一些是:

  • 在不使用 Web 应用程序时注销它们。
  • 保护您的用户名和密码。
  • 不要让浏览器记住密码。
  • 在您处理应用程序并登录时,请避免浏览。

反 CSRF Token

阻止跨站点请求伪造 (CSRF) 的最常见实现是使用与选定用户相关的令牌,并且可以在每个状态下作为隐藏表单找到,动态表单出现在在线应用程序上。

1. 这个Token,简称 CSRF Token

工作原理如下:

  • 客户端请求具有表单的HTML 页面。
  • 为了响应这个请求,服务器附加了两个令牌。它将一个作为 cookie 发送,并将其他令牌保存在隐藏的表单字段中。这些令牌是随机生成的。
  • 提交表单后,客户端将两个令牌都发送回服务器。cookie 令牌作为令牌发送,表单令牌在表单数据内部发送。
  • 如果一个请求没有两个请求,则服务器不会响应或拒绝该请求。

试图伪造请求的攻击者将不得不猜测反 CSRF 令牌和用户的身份验证密码。一段时间后,一旦会话结束,这些令牌就会失效,这使得攻击者难以猜测令牌。

2. 同站点 Cookie

有一些 cookie 与来源或网站相关联,当请求发送到该特定来源时,cookie 会随之发送。此类请求称为跨域请求。在此过程中,cookie 被发送给第三方,这使得 CSRF 攻击成为可能。

3. 相同的站点 Cookie 属性

  • 为了防止 CSRF 攻击,可以使用同站点 cookie 属性。它禁用第三方对特定 cookie 的使用。
  • 由服务器在设置cookie时完成;只有当用户直接使用 Web 应用程序时,它才会请求浏览器发送 cookie 。
  • 如果有人试图从 Web 应用程序请求某些东西,浏览器将不会发送 cookie。
  • 但是,它可以防止 CSRF 攻击。

这有一个限制,现代浏览器不支持同站点 cookie,而旧浏览器不支持使用同站点 cookie 的 Web 应用程序。

CSRF 示例

<class=”word”>下面<class=”word”>我们有<class=”word”>解释<class=”word”>一些<class=”word”>例子<class=”word”>CSRF :

1. 使用 GET 请求:

假设您已经实现并设计了一个网站banking.com,以使用GET 请求执行诸如在线交易之类的操作,现在,知道如何制作恶意 URL 的聪明攻击者可能会使用 <img> 元素让浏览器静默加载页面。

包含恶意 URL的HTML 图像元素示例:

<img src="http://banking.com/app/transferFunds?amount=2500&destination=56789">

2. 可以使用以下技术之一来做同样的事情:

  • 通过发送包含 HTML 内容的电子邮件
  • 通过在页面上植入脚本或恶意 URL。

3. 使用 POST 请求

关于 HTTP POST 请求有一个普遍的误解,认为 CSRF 攻击可以通过允许 HTTP POST 请求来防止,这实际上是不正确的。攻击者可以使用HTML 或 JavaScript创建表单并使用自动提交功能来提交 POST 请求,而无需用户单击提交按钮。

结论

Cookie 很容易受到攻击,因为它们是随请求自动发送的,允许攻击者实施 CSRF 并发送恶意请求,CSRF 漏洞的影响还取决于受害者的权限,其 Cookie 与攻击者的请求一起发送。

虽然数据检索不是 CSRF 攻击的主要范围,但状态变化肯定会对被利用的 Web 应用程序产生不利影响。因此,建议防止您的网站使用预防方法来保护您的网站免受 CSRF 的影响。

链接:https://www.wljslmz.cn/1098.html

(版权归原作者所有,侵删)

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
有人管管他们吗?作品太逆天了!曲线救国,转码不只是CS,信息技术STEM人的宝藏!台风“卡努”将给东北带来暴雨连连,如何防范?《玉蝴蝶 - 扬州个园》对于想进入财务工作的人来说,第一个证考CPA还是CMA?如何备考快速拿证?隔壁小黑兴高采烈地来找好狗友玩,主人却泪目了:它不在了,你知道吗?泰国确诊超300例,猴痘疫情如何防范?赴美留学,你准备好了吗?这些新生注意事项你知道吗?林徽因曾孙女曝光:见了她,才知道什么是真名媛安省女子被假BMO银行网站转走3千元!专家教你如何防范突发!国际奥委会撤销对国际拳联的承认!2024巴黎奥运会还有拳击吗?99元2盒,还赠眼部按摩仪!这个“早C晚A眼霜”逆天了,早晚一抹,眼纹越来越淡!穿一次“老头风”,才知道什么是真松弛深圳手足口疫情升至中风险:多地疾控提示进入流行期,如何防范如何基于目标做好临床试验设计?如何选择临床终点事件?如何看待安慰剂效应?答案在这。。。医疗保险名词解释(什么是Co-pay,Deductible,Co-insurance以及Max out-of pocket?)大峡谷漂流日记第一天守望星空 —歌曲《望星空》赏析小心!你的车上有无数双“眼睛”盯着你!如何防范?河南一医院患者坠楼,医院如何防范自杀?去过北京雍和宫,才知道什么是调剂式许愿背烂过一个珑骧包,才知道什么是真中产女子被假BMO银行网站转走3千元!专家教你如何防范2023疫后归乡路(三)廉航天花板--ZipAir这8个CSS小技巧,你知道吗?北上官宣认房不认贷!楼市风险该如何防范?别光顾着劳动节玩了,你知道为什么庆祝劳动节吗?如何旅游?如何教育孩子?如何爱国?看看这位美国后爹怎么做吧国际拳联被撤销承认,2024巴黎奥运会还有拳击吗?LLC, Inc, Co, Corp, and Ltd分别是什么意思,你知道吗?看完《我经过风暴》,我才知道什么是“家庭癌症”什么?英国家长不知道什么是“九大公学”?他们如何给孩子择校?SpringBoot+Mybatis 如何实现流式查询,你知道吗?追夢豪寺(Dream House) (五)夢起之地学习CS哪家强?2023 CSRankings全美计算机专业排名了解一下!
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。