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

news2024/11/14 19:05:54

免责申明

        本文仅是用于学习检测自己搭建的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分类

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2155434.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

你了解system V的ipc底层如何设计的吗?消息队列互相通信的原理是什么呢?是否经常将信号量和信号混淆呢?——问题详解

前言:本节主要讲解消息队列, 信号量的相关知识。 ——博主主要是以能够理解为目的进行讲解, 所以对于接口的使用或者底层原理很少涉及。 主要的讲解思路就是先讨论消息队列的原理, 提一下接口。 然后讲解ipc的设计——这个设计一些…

【Godot4.3】点数据简易表示法和Points2D

概述 在构造多点路径时我们会用到PackedVector2Array,并使用Vector2()来构造点。在手动创建多点数据时,这种写法其实很难看,有大量重复的Vector2(),比如下面这样: var points [Vector2(100,100),Vector2(200,200),V…

240922-MacOS终端访问硬盘

A. 最终效果 B. 操作步骤 在macOS中,可以通过命令行使用Terminal访问硬盘的不同位置。你可以按照以下步骤操作: 打开终端(Terminal): 在应用程序中打开终端,或者使用 Spotlight 搜索“Terminal”来启动。 …

WebLogic 靶场攻略

后台弱⼝令GetShell 步骤一:环境部署 cd vulhub-master/weblogic/weak_password docker-compose up -d docker ps 步骤二:漏洞复现 默认账号密码:weblogic/Oracle123 步骤二:进行登录 http://192.168.10.190:7001/console/…

thinkphp8 从入门到放弃(后面会完善用到哪里写到哪)

thinkphp8 从入门到放弃 引言 thinkphp* 大道至简一、 thinkphp8 安装安装Composerthinkphp 安装命令(tp-项目名称)多应用安装(一个项目不会只有一个应用)安装完文件目录如下本地部署配置伪静态好了项目可以run 二、架构服务(Service&#xf…

【C++ Primer Plus习题】17.2

大家好,这里是国中之林! ❥前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。有兴趣的可以点点进去看看← 问题: 解答: #include <iostream> #include <fstream> using namesp…

【树莓派】通过HTTP服务器实时传输视频流

前言一、树莓派端的代码二、网页端网址展示总结 前言 树莓派3B的通过HTTP服务器实时传输MJPEG视频流 一、树莓派端的代码 注意在先安装完库 pip install Flask picameraFlask 是一个用 Python 编写的轻量级 web 框架。它主要用于构建 web 应用和 web 服务。Flask 提供了许多…

【无标题】HG6201M路由的超级管理密码获取

这里写自定义目录标题 1、开启telnet http://192.168.1.1/cgi-bin/telnetenable.cgi?telnetenable1&keyXXXXX 注意&#xff1a;此处的XXXXX为路由背面标签的MAC地址&#xff0c;去掉“-”&#xff0c;且大写。 成功后会显示&#xff1a;telnet开启 2、登录telnet 此处采…

C++异常(基本知识)、C++模板类(基本知识)

什么是异常和异常处理&#xff1f; 异常就是程序运行过程中出现的问题。“异常”问题并不经常出现&#xff08;按道理来说我们写好的正常的程序是不应该频繁出现异常的&#xff09;&#xff1b;异常处理技术使得我们可以写程序解决出现的异常问题。很多情况下&#xff0c;处理异…

有女朋友后,怎么养成贤内助?为自己找个好伴侣,为孩子找个好妈妈,为母亲找个好儿媳

有女朋友后&#xff0c;怎么养成贤内助&#xff1f;为自己找个好伴侣&#xff0c;为孩子找个好妈妈&#xff0c;为母亲找个好儿媳 时代背景女生有点作怎么办&#xff1f;大商家族的爱情观 时代背景 一块钱的东西&#xff0c;赋予俩块钱的意义&#xff0c;三块钱卖出去。 用商…

【垃圾识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目选题+TensorFlow+图像识别

一、介绍 垃圾识别分类系统。本系统采用Python作为主要编程语言&#xff0c;通过收集了5种常见的垃圾数据集&#xff08;‘塑料’, ‘玻璃’, ‘纸张’, ‘纸板’, ‘金属’&#xff09;&#xff0c;然后基于TensorFlow搭建卷积神经网络算法模型&#xff0c;通过对图像数据集进…

vscode -ssh免密登陆

1.生成ssh使用的公钥/密钥对 请从客户端上的 PowerShell 或 cmd 提示符运行以下命令&#xff0c;具体使用方法详细见&#xff1a;微软官方 ssh-keygen -t rsa 一路回车&#xff0c;秘钥会生成到C:\Users\name\.ssh 2.将私钥配置到vscode的ssh中&#xff1a; 3.将本地公钥配置…

【计算机网络篇】数据链路层 功能|组帧|流量控制与可靠传输机制

&#x1f9f8;安清h&#xff1a;个人主页 &#x1f3a5;个人专栏&#xff1a;【计算机网络】 &#x1f6a6;作者简介&#xff1a;一个有趣爱睡觉的intp&#xff0c;期待和更多人分享自己所学知识的真诚大学生。 系列文章目录 【计算机网络篇】计算机网络概述 【计算机网络篇…

最新免费域名申请

在互联网时代&#xff0c;每个码农都想拥有一个免费的域名&#xff0c;方便开发调试&#xff0c;也可用作自己网站等。如何申请一个免费的域名&#xff0c;时间上先错过了freenom&#xff0c;后面又错过nic.eu.org申请(现在申请时间长且很难通过)&#xff0c;直到最近又有免费的…

[杂谈-黑神话:悟空] 中国3A游戏的崛起之路:挑战与机遇并存

[杂谈-黑神话:悟空] 中国3A游戏的崛起之路&#xff1a;挑战与机遇并存 《黑神话&#xff1a;悟空》的出现&#xff0c;让我们看到了中国3A游戏的希望和未来。对于中国游戏产业的从业者和爱好者来说&#xff0c;这是一个值得关注和期待的领域。 在游戏产业蓬勃发展的今天&#…

QT打包--windeployqt执行,运行程序提示缺少库

执行windeployqt.exe D:\Data\code\QtCode\Release\RegularExp\RegularExp.exe 生成相应的dll动态库 执行RegularExp.exe&#xff0c;出错&#xff1a;“由于找不到libgcc_s_seh-1.dll…” 找到安装的qt对应的libgcc_s_seh-1.dll拷贝到RegularExp.exe同级目录下&#xff0c; 执…

力扣题解2374

大家好&#xff0c;欢迎来到无限大的频道。 今日继续给大家带来力扣题解。 题目描述&#xff08;中等&#xff09;&#xff1a; 边积分最高的节点 给你一个有向图&#xff0c;图中有 n 个节点&#xff0c;节点编号从 0 到 n - 1 &#xff0c;其中每个节点都 恰有一条 出边。…

[大语言模型-论文精读] 以《黑神话:悟空》为研究案例探讨VLMs能否玩动作角色扮演游戏?

1. 论文简介 论文《Can VLMs Play Action Role-Playing Games? Take Black Myth Wukong as a Study Case》是阿里巴巴集团的Peng Chen、Pi Bu、Jun Song和Yuan Gao&#xff0c;在2024.09.19提交到arXiv上的研究论文。 论文: https://arxiv.org/abs/2409.12889代码和数据: h…

2024年9月19日

1.四个属性: 连接数据库 四个属性 操作数据库重要的对象 操作sql语句的对象 预编译 结果集 对象的属性和数据表的子弹 映射准备这条sql语句 文件:核心配置文件 2.创建 build success 做工具类 如果客户名不为空,否则客户名为空

Python中的IPython:交互式的Python shell

你是否曾经想要一个能让你与Python代码实时交互的环境&#xff1f;一个可以即时执行代码、查看结果&#xff0c;甚至可以在运行过程中修改变量的工具&#xff1f;如果是&#xff0c;那么IPython就是为你量身打造的利器&#xff01;在这篇文章中&#xff0c;我们将深入探讨IPyth…