csrf攻击学习

原理

csrf又称跨站伪造请求攻击,现代网站利用Cookie、Session 或 Token 等机制识别用户身份,一旦用户访问某个网站,浏览器在之后请求会自动带上这些信息来识别用户身份。用户在网站进行请求或者操作时服务器会给出对应的内容,比如说用户查询自己的个人信息,或者用户在一个网站进行资金转移的操作等等,网站得到用户的请求时带着上面提到的识别身份的信息,例如用户访问了攻击者搭建的恶意网站,在网站中有一些伪造的恶意操作比如说转账,用户点击了这个请求,使用了这个恶意操作,导致用户的浏览器向刚刚确认完身份的网站再次发送转账请求,那么网站就会认定用户的身份不会进行过多验证的去进行转账操作。

通过上面的了解,我们进行csrf注入用户身份是至关重要的,所以一般要避免csrf漏洞也是在这方面下手,一些过滤也是在这里进行;在诱导用户进行恶意操作时,我们也需要做出一些看似善意的界面,比如说一个把转账功能的超链接名称设置成带有迷惑性的字句‘领取礼包’之类;在构造恶意请求时通过使用get或post类似这样的请求http://www.examplebank.com/withdraw?account=AccoutName&amount=1000&for=PayeeName

这个请求的样子太容易读懂,我们需要对他进行一些改变,例如把他变成一个短链接

当然也有一些过滤手法,我们使用dvwa靶场来看看吧

dvwa靶场

low(get传参)

修改密码为1

修改成功,url栏有变化,里面有修改的信息

说明时get传参,我们可以自己修改url栏中的信息达到任意修改的效果,我们先测试一下现在的密码是不是1

现在我们通过url栏修改密码成2

测试是否成功

我们抓一下这个包

使用工具将它修改成csrf poc

复制html代码

生成一个html文件,如果我们不在打开dvwa靶场的浏览器打开这个html文件,请求不会成功因为没有身份验证

但如果我们在打开靶场的浏览器打开这个文件

点击发送请求就会直接修改成功

这是最基础的csrf注入,更进一步的可能对referer、cookie等等身份信息有验证这些就等到遇到再进行学习吧。

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

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

相关文章

深入剖析MySQL锁机制,多事务并发场景锁竞争

一、隐藏字段对 InnoDB 的行锁(Record Lock)与间隙锁(Gap Lock)的影响 1. 隐藏字段与锁的三大核心影响 类型影响维度描述DB_TRX_IDMVCC 可见性控制决定是否读取当前版本,或在加锁时避开不可见版本(影响加锁…

以SMMUv2为例,使用Trace32可视化操作SMMU的常用命令详解

Trace32支持一系列的SMMU命令,可以帮助用户更好地配置、查看和分析SMMU。换句话说,就是让SMMU的配置变得可视化。 在添加SMMU实例之前,需要选择一个CPU来激活该SMMU实例的相关命令。Trace32让SMMU的配置可视化的本质是,操纵CPU读取…

将数据库表导出为C#实体对象

数据库方式 use 数据库;declare TableName sysname 表名 declare Result varchar(max) /// <summary> /// TableName /// </summary> public class TableName {select Result Result /// <summary>/// CONVERT(NVARCHAR(500), ISNULL(ColN…

CSS 预处理器与工具

目录 CSS 预处理器与工具1. Less主要特性 2. Sass/SCSS主要特性 3. Tailwind CSS主要特性 4. 其他工具PostCSSCSS Modules 5. 选择建议 CSS 预处理器与工具 1. Less Less 是一个 CSS 预处理器&#xff0c;它扩展了 CSS 语言&#xff0c;添加了变量、嵌套规则、混合&#xff0…

this.$set() 的用法详解(Vue响应式系统相关)

1. 什么是 this.$set()&#xff1f; this.$set(target, key, value) 是 Vue 2 中提供的一个方法&#xff0c;用于向响应式对象中动态添加属性&#xff0c;确保新加的属性同样是响应式的。 2. 为什么需要它&#xff1f; Vue 2 的响应式系统基于 Object.defineProperty&#…

【HarmonyOS Next之旅】DevEco Studio使用指南(三十)

目录 1 -> 部署云侧工程 2 -> 通过CloudDev面板获取云开发资源支持 3 -> 通用云开发模板 3.1 -> 适用范围 3.2 -> 效果图 4 -> 总结 1 -> 部署云侧工程 可以选择在云函数和云数据库全部开发完成后&#xff0c;将整个云工程资源统一部署到AGC云端。…

如何配置nginx解决前端跨域请求问题

我们以一个简单的例子模拟不同情况下产生的跨域问题以及解决方案。假设在http://127.0.0.1:8000的页面调用接口 fetch(http://127.0.0.1:8003/api/data)常看到的错误“Access to fetch at ‘http://127.0.0.1:8003/api/data’ from origin ‘http://localhost:8000’ has been…

React Hooks 指南:何时使用 useEffect ?

在 React 的函数组件中&#xff0c;useEffect Hook 是一个强大且不可或缺的工具。它允许我们处理副作用 (side effects)——那些在组件渲染之外发生的操作。但是&#xff0c;什么时候才是使用 useEffect 的正确时机呢&#xff1f;让我们深入探讨一下&#xff01; 什么是副作用…

bat批量去掉本文件夹中的文件扩展名

本文本夹内 批量去掉本文件夹中的文件扩展名 假如你有一些文件&#xff0c;你想去掉他们的扩展名 有没有方便的办法呢 今天我们就分享一种办法。 下面&#xff0c;就来看看吧。 首先我们新建一个记事本&#xff0c;把名字改为&#xff0c;批量去掉本文件夹中的文件扩展名.txt 然…

STM32标准库-输入捕获

一、输入捕获 1.简介 IC&#xff08;Input Capture&#xff09;输入捕获输入 捕获模式下&#xff0c;当通道输入引脚出现指定电平跳变时&#xff0c;当前CNT的值将被锁存到CCR中&#xff0c;可用于测量PWM波形的频率、占空比、脉冲间隔、电平持续时间等参数 每个高级定时器和…

在linux系统上搭建git服务器(ssh协议)

1.在windows上生成RSA密钥对 ssh-keygen -t rsa -b 2048 -C"git用户名/邮箱地址" 命令执行后会在 C:\Users\${windows登录账户}\.ssh 目录下生成密钥对 其中 id_rsa 为私钥&#xff0c;id_rsa.pub 为公钥 2.在 linux 系统上登记公钥 vim ~/.ssh/authorized_keys…

RAG检索系统的两大核心利器——Embedding模型和Rerank模型

在RAG系统中&#xff0c;有两个非常重要的模型一个是Embedding模型&#xff0c;另一个则是Rerank模型&#xff1b;这两个模型在RAG中扮演着重要角色。 Embedding模型的作用是把数据向量化&#xff0c;通过降维的方式&#xff0c;使得可以通过欧式距离&#xff0c;余弦函数等计算…

stm32内存踩踏一例

1、问题描述 程序运行过程中&#xff0c;发现显示的内容乱了&#xff0c;如下图所示&#xff1a; 2、问题分析 此原因产生是由于将一个函数提前引起的&#xff0c;单步跟踪检查问题 运行过此函数后变量的地址改变了&#xff1f;被调函数能改变调用函数的变量地址&#xff1f…

Selenium的底层原理

Selenium 底层主要依赖于 WebDriver 协议&#xff08;即 W3C WebDriver 规范&#xff0c;早期也有 JSON Wire Protocol&#xff09;来实现对浏览器的远程控制&#xff0c;其核心架构可以分为以下几层&#xff1a; Selenium 客户端&#xff08;Client Library&#xff09; 支持多…

前端高频面试题2:浏览器/计算机网络

本专栏相关链接 前端高频面试题1&#xff1a;HTML/CSS 前端高频面试题2&#xff1a;浏览器/计算机网络 前端高频面试题3&#xff1a;JavaScript 1.什么是强缓存、协商缓存&#xff1f; 强缓存&#xff1a; 当浏览器请求资源时&#xff0c;首先检查本地缓存是否命中。如果命…

MATLAB-电偶极子所产出的电磁场仿真

% 清除工作区 clear all % 用户输入 a input(输入点电荷的位置如[1,0,1;2,0,2]表示位置在(1,0,1),(2,0,2): ); Q input(输入点电荷的电荷量&#xff0c;-表示电性&#xff0c;如[1,-1]: ); a1 input(电场线角度间隔: ); % 角度间隔 % 设置绘图范围 xmin min(a(:,1)) - 4;…

混合云数据库连接问题:本地与云实例的兼容性挑战

关键词:混合云数据库,混合云架构,数据库连接问题,网络策略,兼容性挑战,权限冲突,防火墙,VPN,ExpressRoute,Direct Connect,SQL Server,MySQL,PostgreSQL,Azure SQL Database,AWS RDS 随着企业数字化转型的深入,混合云架构正成为主流选择。它结合了本地数据中心…

pikachu靶场通关笔记16 CSRF关卡02-CSRF(POST)

目录 一、CSRF原理 二、源码分析 三、渗透实战 1、构造CSRF链接 &#xff08;1&#xff09;登录 &#xff08;2&#xff09;bp设置inception on &#xff08;3&#xff09;修改个人信息 &#xff08;4&#xff09;构造CSRF链接 2、模拟受害者登录 3、诱导受害者点击 …

CAD2025安装教程与资源下载

软件下载 软件名称&#xff1a;CAD2025软件语言&#xff1a;简体中文软件大小&#xff1a;2.69G系统要求&#xff1a;Windows10或更高&#xff0c;32/ 64位操作系统硬件要求&#xff1a;CPU2GHz &#xff0c;RAM4G或更高下载链接&#xff1a; 链接&#xff1a;https://pan.qua…

SpringBoot离线应用的5种实现方式

在当今高度依赖网络的环境中&#xff0c;离线应用的价值日益凸显。无论是在网络不稳定的区域运行的现场系统&#xff0c;还是需要在断网环境下使用的企业内部应用&#xff0c;具备离线工作能力已成为许多应用的必备特性。 本文将介绍基于SpringBoot实现离线应用的5种不同方式。…