自学内容网 自学内容网

跨站请求伪造(CSRF)漏洞详解

免责申明

        本文仅是用于学习检测自己搭建的DVWA靶场环境有关CSRF的原理和攻击实验,请勿用在非法途径上,若将其用于非法目的,所造成的一切后果由您自行承担,产生的一切风险和后果与笔者无关;本文开始前请认真详细学习《‌中华人民共和国网络安全法》‌及其所在国家地区相关法规内容【学法时习之丨网络安全在身边一图了解网络安全法_中央网络安全和信息化委员会办公室】 如您继续阅读该文章即表明您默认遵守该内容。

一、CSRF介绍

1.1、CSRF简介

        跨站请求伪造(Cross-site request forgery 简称:CSRF);是一种冒充受信任用户,向服务器发送非预期请求的攻击方式(它允许攻击者诱使用户执行他们不打算执行的操作;允许攻击者部分绕过同源策略,该策略旨在防止不同网站相互干扰)【CSRF主要利用的是网站对用户网页浏览器的信任】【XSS 利用的是用户对指定网站的信任】。

        跨站请求伪造的攻击特性是危害性大但非常隐蔽,攻击者完全可以在用户毫无察觉的情况下发起CSRF攻击。

1.2、CSRF原理流程

        跨站请求伪造也称为点击攻击(即:需要人为的点击触发)或者需要靠其他漏洞触发,其本身是不具备主动攻击性的CSRF漏洞主要是由于开发人员进行功能开发的时候,没有对请求的参数内容(如:token和referer等)进行严格的判断,这样就会方便攻击者可构造自己的URL地址欺骗目标用户进行点击。

        跨站请求伪造攻击流程是(攻击者会伪造一个请求(这个请求一般是一个链接),然后欺骗目标用户进行点击,用户一旦点击了这个请求,整个攻击就完成了。所以CSRF攻击也称为"one click"攻击(点击攻击),需要用户触发攻击动作(即:当我们打开网站并且登陆某个网站后,就会产生一个会话(这里指用户登陆后),这个会话可能是session,Cookie控制,此时浏览器与服务器之间是处于会话之中,在这个会话没有结束时候,你可以利用你的权限对该登录的网站进行操作(如:发表评论、发送邮件、或删除信息等操作);当这个会话结束后,你在进行;如下图所示:

跨站请求伪造CSRF攻击的详细流程
1、用户打开浏览器,访问受信任网站A,并且输入自己的用户名和密码登录到网站A上;
2、网站A在接收用户信息进行验证通过后,就会生成对应的Cookie或Session信息并返回给用户浏览器,此时用户登录网站A成功,就可以正常发送请求到网站A,而不用再次进行认证了;
3、 用户未退出网站A的登录之前,此时又在同一个浏览器中,打开另一个TAB页访问恶意网站B或网站B中的恶意内容;
4、网站B接收到用户请求后,返回一些攻击性代码(这些攻击代码是用于发出一个请求要求访问网站A的);
5、浏览器在接收到这些攻击性代码后,根据网站B的请求,在用户不知情的情况下携带Cookie信息,向网站A
发出请求。网站A并不知道该请求其实是由B发起的,所以会根据用户的Cookie信息以及该用户的权限处理该请求,导致来自网站B的恶意代码被在网站A执行。
跨站请求伪造CSRF的特点
序号 CSRF显著特点
1 CSRF的攻击建立在浏览器与Web服务器的会话之中
2 欺骗用户访问URL

1.3、CSRF分类


原文地址:https://blog.csdn.net/xiaochenXIHUA/article/details/142406584

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!