0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

你知道什么是CSRF攻击吗?如何防范?

马哥Linux运维 来源:网络技术联盟站 2023-07-28 11:46 次阅读

什么是 CSRF 攻击?

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

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

CSRF的背景

Web 起源于查看静态文档的平台,很早就添加了交互性,在POSTHTTP 中添加了动词,

在 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 示例

下面我们有解释一些例子CSRF :

1. 使用 GET 请求:

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

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


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





审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Web服务器
    +关注

    关注

    0

    文章

    137

    浏览量

    24231
  • URL
    URL
    +关注

    关注

    0

    文章

    134

    浏览量

    14840
  • HTML语言
    +关注

    关注

    0

    文章

    3

    浏览量

    3656
  • csrf
    +关注

    关注

    0

    文章

    7

    浏览量

    2196

原文标题:逆天了,你知道什么是CSRF 攻击吗?如何防范?

文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    CSRF攻击的基本原理 如何防御CSRF攻击

    在当今数字化时代,随着网络应用的快速发展,网络安全问题变得日益突出,网络攻击手段也日益猖獗。在众多网络安全攻击手段中,CSRF(跨站请求伪造)攻击是一种被广泛认为具有潜在危害且常见的
    的头像 发表于 01-02 10:12 372次阅读
    <b class='flag-5'>CSRF</b><b class='flag-5'>攻击</b>的基本原理 如何防御<b class='flag-5'>CSRF</b><b class='flag-5'>攻击</b>

    【assingle原创】试论网络入侵、攻击防范技术

    ,阐述了防范网络入侵与攻击的主要技术措施。 关键词:安全和保密网络入侵和攻击防范技术 中图分类号:TP31文献标识码:A文章编号:1 6 7 2—379l(2009)06(a)一001
    发表于 02-26 16:56

    最新防攻击教程

    最新防攻击教程 别人攻击的使用方法 传奇防御攻击 传奇攻击方法超级CC 超级穿墙CC 穿金盾CC 穿墙CC攻击器 防穿墙DDOS 传奇网关
    发表于 09-06 20:42

    CC攻击

    CC攻击是DDOS(分布式拒绝服务)的一种,相比其它的DDOS攻击CC似乎更有技术含量一些。这种攻击见不到虚假IP,见不到特别大的异常流量,但造成服务器无法进行正常连接,听说一条AD
    发表于 09-10 15:59

    针对非接触式安全微控制器的攻击方式及防范措施

    复存在。因此,这些芯片也需要被保护,以防止对鉴权密钥的非法读取。 总体而言,芯片制造商的目标是采取经过测试和验证的有效防范措施,来应对多方面的威胁。这些威胁主要可被分为三类:故障诱导攻击、物理攻击和旁通
    发表于 12-05 09:54

    《DNS攻击防范科普系列1》—的DNS服务器真的安全么?

    DNS服务器,即域名服务器,它作为域名和IP地址之间的桥梁,在互联网访问中,起到至关重要的作用。每一个互联网上的域名,背后都至少有一个对应的DNS。对于一个企业来说,如果的DNS服务器因为攻击而无
    发表于 10-16 15:21

    《DNS攻击防范科普系列2》 -DNS服务器怎么防DDoS攻击

    在上个系列《的DNS服务真的安全么?》里我们介绍了DNS服务器常见的攻击场景,看完后,是否对ddos攻击忧心重重?本节我们来告诉,怎么
    发表于 10-16 15:28

    如何去防范恶意代码攻击

    在享受便利的同时,却往往忽视了隐私的保护。操作系统的漏洞、应用安全的不完善,都会导致物联设备被恶意代码注入,从而导致个人账号等隐私泄露。那么如何去防范恶意代码攻击呢?从当前的技术角度来讲,仅仅通过系统
    发表于 01-25 06:10

    对Rijndael的JAVA差分攻击防范

    本文探讨了对Rijndael算法的各种攻击,介绍了一种对Rijndael算法差分攻击的JAVA实现,提出了几种防范对Rijndael算法差分攻击的方法。关键词:Rijndael;JAV
    发表于 08-22 10:06 14次下载

    网络攻击的关键技术的原理及防范

    网络扫描及防范技术􀂄 口令破解及防范技术􀂄 网络监听及防范技术􀂄 欺骗攻击防范技术&
    发表于 10-19 16:21 21次下载

    基于ARP欺骗的中间人攻击的检测与防范_刘衍斌

    基于ARP欺骗的中间人攻击的检测与防范_刘衍斌
    发表于 03-19 11:33 0次下载

    浅谈CSRF漏洞

    浅谈CSRF漏洞
    发表于 09-07 11:00 15次下载
    浅谈<b class='flag-5'>CSRF</b>漏洞

    Web安全之CSRF攻击

    CSRF(Cross Site Request Forgery),中文是跨站点请求伪造。CSRF攻击者在用户已经登录目标网站之后,诱使用户访问一个攻击页面,利用目标网站对用户的信任,以
    发表于 11-27 13:31 1699次阅读
    Web安全之<b class='flag-5'>CSRF</b><b class='flag-5'>攻击</b>

    CSRF是什么 CSRF与XSS攻击的区别

    /XSRF。 二.CSRF可以做什么? 你这可以这么理解CSRF攻击攻击者盗用了你的身份,以你的名义发送恶意请求。CSRF能够做的事情包括
    的头像 发表于 08-05 10:09 6375次阅读

    嵌入式系统12种常见攻击防范方法

    嵌入式系统12种常见攻击防范方法
    的头像 发表于 09-21 17:26 719次阅读
    嵌入式系统12种常见<b class='flag-5'>攻击</b>及<b class='flag-5'>防范</b>方法