五大方法减少跨站请求伪造(CSRF)攻击

你公司网络上的Web应用程序是否容易遭受跨站请求伪造攻击呢?这是一个值得讨论的问题,因为一次成功的CSRF攻击的后果往往是破坏性的,会花费公司的大量金钱,甚至导致机密信息丢失。

什么是CSRF(跨站请求伪造)?

CSRF攻击通过使应用程序相信导致此活动的请求来自应用程序的一个可信用户,从而诱使应用程序执行一种活动(如转移金融资产、改变账户口令等)。用户可以是公司的一位雇员,企业合伙人,或者是一个外部的客户。

CSRF攻击依赖于这样一个事实:许多Web应用程序使用cookie,其终结时间相对较长,从而使用户在通过最初的验证之后仍能访问应用程序。

要使CSRF攻击得逞,潜在的受害者必须使用其浏览器进行验证,并登录到公司的Web应用程序。只要用户没有退出应用程序,浏览器中的应用程序的cookie没被终止,该用户就是CSRF攻击的一个潜在受害者。

CSRF攻击如何运行?

为执行CSRF攻击,黑客需要把一个特别伪造的到达公司应用程序的链接放置到其它网页上或放到电子邮件中。但黑客并不把此链接作为一个超级链接,而是将它放在一个图像或脚本标签中,从而隐藏链接,将链接作为图像或脚本的源。

下面是一个来自维基百科的例子:

  1. img src="http://bank.example.com/withdraw?account=bob&amount=100000&for=mallory" 

现在,如果受害者在其浏览器中查看包含此图像的网页,或读取包含此链接的电子邮件程序,浏览器会跟踪链接,试图获取图片。如果受害者近来登录过此站点,其浏览器会提供一个用于验证的cookie,告诉浏览器将10万美元从“bob”的账户转移给“mallory”。一般而言,受害人不会知道执行了什么业务(至少在检查其账户余额之前),因为受害人的浏览器在执行业务时并不从bank.example.com那里显示任何反馈(如一个确认网页)。

在上面的例子中,该链接专门针对bob,限制其实用性。在实践中,黑客有可能使用一个更为通用的链接,可适用于碰巧登录到企业Web应用程序的任何潜在受害者。但对黑客来说,伪造一次成功的CSRF攻击并不容易,因为在攻击过程中,黑客并不能从Web应用程序获得任何反馈。这意味着,只有从你的Web应用程序发出的响应完全可预测时,这种攻击才可能发生。

所以说,一个易于遭受攻击的Web应用程序必须:

1、 准许用户用一个合法的cookie进行访问,其到期时间必须足够长。

2、 在提交适当的URL(可从外部站点发送)时,准许执行交易。

3、 以一种可预测的方法进行响应。

CSRF攻击可以达到什么目标?

虽然CSRF攻击仅能在Web应用程序中执行业务,其后果却可能蔓延很广。例如,这会导致受害人在不知情的情况下向论坛发帖子、订阅邮件列表、网购或股票交易,或变更用户名或口令。对受到受害人防火墙保护的所有应用程序而言,CSRF攻击都能发挥作用。如果受害者的机器位于受限的某个IP范围,就会使得黑客访问此范围内的相关应用程序。

还有一种CSRF变种,称为登录CSRF,它能够使用攻击者的登录凭证记录受害人在Web应用程序中的活动。这将使黑客以后可以登录进入并检索关于受害人的信息,如用户活动历史,或由受害者所提交的任何机密信息。

五大方法减轻Web应用程序易受CSRF攻击的风险

限制验证cookie的到期时间。这些cookie的合法时间越短,黑客利用你的Web应用程序的机会就越小。不过,这个时间越短,用户就越不方便。因此,你需要在安全性和方便性之间进行平衡。

执行重要业务之前,要求用户提交额外的信息。要求用户在进行重要业务前输入口令,这可以防止黑客发动CSRF攻击(只要浏览器中没有包含口令),因为这种重要信息无法预测或轻易获得。

使用秘密的无法预测的验证符号。当保存在用户浏览器中的cookie仅由一次会话确认时,CSRF攻击才会有效。所以在每次HTTP请求(当然攻击者无法提前知道)中都有附加的特定会话的信息,这样就可以挫败CSRF攻击。不过,如果这种应用程序存在跨站脚本漏洞,黑客就有可能访问这种验证符号。

使用定制的HTTP报头。如果执行交易的所有请求都使用XMLHttpRequest并附加一个定制的HTTP报头,同时拒绝缺少定制报头的任何请求,就可以用XMLHttpRequest API来防御CSRF攻击。由于浏览器通常仅准许站点将定制的HTTP报头发送给相同站点,从而了防止由CSRF攻击的源站点所发起的交易。

检查访问源的报头。在浏览者发送HTTP请求时,它通常会包含源自访问源报头的URL。理论上讲,你可以使用这些信息来阻止源自其它任何站点(而不是来自Web应用程序自身)的请求。不过,访问源报头并不总是可用的,(例如,有些单位由于私密性的缘故而将它剥离了),或者这个报头容易被欺骗,所以说,这条措施并不真正有效。

推荐专题:十大工具及应用策略搞定OWASP热门威胁

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/150112.html<

(0)
管理的头像管理
上一篇2025-03-12 22:32
下一篇 2025-03-12 22:33

相关推荐

  • 站群服务器和普通服务器到底哪个更适合GEO,怎么选?

    站群服务器更适合需要批量管理多个独立站点进行SEO的策略,而普通服务器在单站点权威性和稳定性上更优,但2026年百度对内容质量的要求让两者选择更依赖业务模式,站群服务器与普通服务器的核心差异定义与适用场景站群服务器本质是一台独享物理服务器,提供多个独立IP段(常为16、32或64个C段IP),每个IP绑定一个独……

    2026-07-28
    0
  • 物理服务器和云服务器做站群到底选哪个,哪个更稳定?

    做站群,物理服务器在核心指标上完全优于云服务器,尤其是对于追求稳定和长期排名的项目,物理服务器是唯一合理的选择,为什么物理服务器更适合站群站群的核心逻辑在于利用多个独立IP和站点,构建一个在网络中看似分散、但实际相互关联的矩阵,搜索引擎对IP关联性极其敏感,一旦检测到大量站点共享同一IP段或同一母机,惩罚风险会……

    2026-07-28
    0
  • 国内高防服务器哪家防御真实靠谱,怎么选?

    国内高防服务器哪家防御真实靠谱?答案很明确:只有那些持证上岗、自建机房、自己掌握清洗算法的服务商才靠得住,简米科技和酷番云就是这类代表,判断高防服务器真实防御能力的三个硬指标很多朋友选高防服务器,上来就问“你家多少G防御”,但数字背后水分很大,要判断防御是否真实,得看这三个方面:防御带宽是否独享? 有些服务商宣……

    2026-07-28
    0
  • 裸金属服务器和物理服务器有什么区别?,怎么选?

    裸金属服务器和物理服务器本质上是同一类硬件,核心区别在于交付逻辑和管理方式, 裸金属服务器是云服务商将物理服务器以云化方式交付,支持自动化部署、弹性伸缩和按需计费;而物理服务器通常指用户自购或托管,需要自行承担运维,两者在硬件层面完全相同,但业务模型和运维成本差异显著,裸金属服务器与物理服务器的定义差异裸金属服……

    2026-07-28
    0
  • 做GEO站群选哪家服务器服务商靠谱,怎么选?

    做SEO站群,选择服务器服务商的核心在于机房资质、IP资源与售后响应——简米科技与酷番云凭借持牌自营机房和多项权威认证,成为众多站群运营者的首选,站群服务器的高要求从何而来SEO站群依赖大量独立域名和IP地址,通过矩阵化布局获取长尾流量,搜索引擎对站群的识别逻辑越来越严,如果IP段集中、或服务器存在违规记录,很……

    2026-07-28
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注