丁启国优秀作者
原创内容 来源:小居数码网 时间:2024-08-12 09:29:01 阅读() 收藏:55 分享:43 爆
导读:您正在阅读的是关于【数码知识】的问题,本文由科普作家协会,生活小能手,著名生活达人等整理监督编写。本文有1480个文字,大小约为7KB,预计阅读时间4分钟。
什么是 CSRF 攻击?跨站点请求伪造 (CSRF) 攻击允许攻击者伪造请求并将其作为登录用户提交到 Web 应用程序,CSRF 利用 HTML 元素通过请求发送环境凭据(如 cookie)这一事实,甚至是跨域的。
与 XSS 一样,要发起 CSRF 攻击,攻击者必须说服受害者单击或导航到链接。与 XSS 不同的是,CSRF 只允许攻击者向受害者的来源发出请求,并且不会让攻击者在该来源内执行代码。这并不意味着 CSRF 攻击的防御变得不那么重要。正如我们将在示例中看到的,CSRF 可能与 XSS 一样危险。
Web 起源于查看静态文档的平台,很早就添加了交互性,在POSTHTTP 中添加了动词,<form> 在 HTML 中添加了元素。以 cookie 的形式添加了对存储状态的支持。
CSRF 攻击利用 Web 的以下属性:cookie 用于存储凭据,HTML 元素(与 JavaScript 不同)被允许发出跨域请求,HTML 元素随所有请求发送所有 cookie(以及凭据)。
CSRF 将所有这些放在一起。攻击者创建了一个恶意网站,其中包含向受害者的来源提交请求的 HTML 元素。当受害者导航到攻击者的站点时,浏览器会将受害者来源的所有 cookie 附加到请求中,这使得攻击者生成的请求看起来像是由受害者提交的。
第一步是吸引用户/受害者点击链接或加载恶意页面。攻击者使用社会工程学来欺骗受害者。
第二步是通过向受害者的浏览器发送伪造的请求来欺骗受害者。此链接会将看似合法的请求重定向到网站。攻击者将拥有他必须寻找的受害者的价值观或详细信息;受害者会认为该请求是合法的。攻击者还将获得与受害者浏览器相关联的 cookie 的详细信息。
有几种 CSRF 预防方法;其中一些是:
阻止跨站点请求伪造 (CSRF) 的最常见实现是使用与选定用户相关的令牌,并且可以在每个状态下作为隐藏表单找到,动态表单出现在在线应用程序上。
工作原理如下:
试图伪造请求的攻击者将不得不猜测反 CSRF 令牌和用户的身份验证密码。一段时间后,一旦会话结束,这些令牌就会失效,这使得攻击者难以猜测令牌。
有一些 cookie 与来源或网站相关联,当请求发送到该特定来源时,cookie 会随之发送。此类请求称为跨域请求。在此过程中,cookie 被发送给第三方,这使得 CSRF 攻击成为可能。
这有一个限制,现代浏览器不支持同站点 cookie,而旧浏览器不支持使用同站点 cookie 的 Web 应用程序。
<class=”word”>下面<class=”word”>我们有<class=”word”>解释<class=”word”>一些<class=”word”>例子<class=”word”>CSRF :
假设您已经实现并设计了一个网站banking.com,以使用GET 请求执行诸如在线交易之类的操作,现在,知道如何制作恶意 URL 的聪明攻击者可能会使用 <img> 元素让浏览器静默加载页面。
包含恶意 URL的HTML 图像元素示例:
<img src="http://banking.com/app/transferFunds?amount=2500&destination=56789">
关于 HTTP POST 请求有一个普遍的误解,认为 CSRF 攻击可以通过允许 HTTP POST 请求来防止,这实际上是不正确的。攻击者可以使用HTML 或 JavaScript创建表单并使用自动提交功能来提交 POST 请求,而无需用户单击提交按钮。
Cookie 很容易受到攻击,因为它们是随请求自动发送的,允许攻击者实施 CSRF 并发送恶意请求,CSRF 漏洞的影响还取决于受害者的权限,其 Cookie 与攻击者的请求一起发送。
虽然数据检索不是 CSRF 攻击的主要范围,但状态变化肯定会对被利用的 Web 应用程序产生不利影响。因此,建议防止您的网站使用预防方法来保护您的网站免受 CSRF 的影响。
上面就是小居数码小编今天给大家介绍的关于(如何防御csrf攻击)的全部内容,希望可以帮助到你,想了解更多关于数码知识的问题,欢迎关注我们,并收藏,转发,分享。
94%的朋友还想知道的:
(261)个朋友认为回复得到帮助。
部分文章信息来源于以及网友投稿,转载请说明出处。
本文标题:防止csrf攻击的主流方法(如何防御csrf攻击):http://sjzlt.cn/shuma/154845.html