【web安全】CSRF漏洞攻击与防御

前言

总结,仅供学习。

csrf的理解

我们了解一个网站有修改信息,密码,添加删除管理,支付转账的功能之后。

通过抓包抓取对方修改操作的数据包样式,

然后在自己网站搭建一个指令。

当别人来访时,

如果正好打开着目标网站,就发送修改信息的数据包,从而实现被修改信息。

简而言之就是用目标的名义去发送数据包

csrf目前的存在情况

大型网站一般都是有防护的。

小中型的网站后台常有。

但是中小型网站,信息价值确实也就那样。。。。

csrf的前提条件

登录要修改信息的网站。

在不退出该网站的同时,再登录攻击网站。

(所以条件还是蛮苛刻的,不是太好用)

csrf的判断

可以自己创建个号来测试一下有没有该漏洞。

csrf与xss的区别

csrf与xss很多人会混淆

xss是在目标网站上写入javascript语句,盗取他的cookie然后登录自己改他的东西。

csrf是在不登陆的形况下,让他自己发送数据包改他自己的东西。

get型csrf入侵案例

本处用的是pikachu的靶场进行演示。

这里假设目标人物叫做kobe,我的名字叫做lili

kobe被黑需要做的

首先第一点,目标要登录网站。

 目标登录网站,获取了cookie。

因为,我们想要修改信息,转账支付添加管员等操作都是需要cookie的,所以本处必须要目标登录网址。

接下来是lili需要做的。

我们先要搞清楚这个修改信息是发送的什么样的数据包。

先改一下信息查看数据包

我们抓取数据包,看到这个标识部分是他修改的方式,他通过get的形式发送的修改数据包。

也就是说,lili如果想要改kobe的个人信息,lili要让kobe自己发送修改自己信息的数据包。

那么lili需要搭建一个网站,让kobe访问这个网站的时候,自动向目标网站发送这个数据包。

lili搭建网站的过程

如果没有服务器,自己用自己的phpstudy搭建也可以。

我们自己建一个网站,在网站中创建这个文件。

这时我们用我们自己的账号结合burp抓一下修改我们信息的包

右键burp找到这个按钮,按下去。

这个界面就可以生成我们csrf的攻击代码。

我们在url中修改想要修改的kobe的数据然后点左下角按钮刷新后复制这些代码。放入我们网站的文件中。

 我们做好网站后发给kobe等他来访问。

kobe视角

kobe登录着记录自己信息的网站,忽然发现lili发给他了一个网站,一点开发现一个按钮

其实这个是burp默认的,你完全可以改变成自己想要的形式。

这时kobe点击了按钮

瞬间发现自己的信息被人恶搞了

气不打一处来,于是线下单杀了lili。

是的有点繁琐的利用方式。

防御方法

1、当用户发送重要的请求时需要输入原始密码

2、设置随机Token

3、检验referer来源,请求时判断请求链接是否为当前管理员正在使用的页面(管理员在编辑文章,黑客发来恶意的修改密码链接,因为修改密码页面管理员并没有在操作,所以攻击失败)

(但是referer可以被篡改)

4、设置验证码

5、限制请求方式只能为POST

最好用的是token。

token是每次用户更改信息时,后台产生一个随机编号,仅当数据包与后台的编号一直时,才会允许更改,kobe这次更改信息就是这个编号,下次就更改数据包就会变化,所以我们用上次的数据就无法更改了。

类似这个

可以看到数据包多了一行编码。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

接口01-Java

接口-Java 一、引入(快速入门案例)二、接口介绍1、概念2、语法 三、应用场景四、接口使用注意事项五、练习题1 一、引入(快速入门案例) usb插槽就是现实中的接口。 你可以把手机、相机、u盘都插在usb插槽上,而不用担心那个插槽是专门插哪个的,原因是做u…

行业唯一!法大大上榜2023德勤深圳明日之星

11月28日,德勤中国在深圳举办2023德勤深圳高科技高成长20强及明日之星(以下简称“深圳明日之星”)颁奖盛典。法大大作为高速成长、持续创新的卓越企业荣登深圳明日之星榜单。值得一提的是,法大大是唯一一家获奖的电子签企业&#…

PostgreSQL | EXTRACT | 获取时间的年月日字串

EXTRACT EXTRACT 函数是 PostgreSQL 中用于从日期和时间类型中提取特定部分(如年、月、日、小时等)的函数。 格式 EXTRACT(field FROM source) -- field 参数是要提取的部分,例如 YEAR、MONTH、DAY、HOUR 等。 -- source 参数是包含日期或…

傅里叶变换及其在机器学习中的应用

​​​​​​​一、介绍 傅立叶变换是一种数学技术,在各个科学和工程领域发挥着关键作用,其应用范围从信号处理到量子力学。近年来,它在机器学习领域发现了新的意义。本文探讨了傅里叶变换的基础知识及其在机器学习应用中日益增长的重要性。 …

uniapp上架app store详细攻略

目录 uniapp上架app store详细攻略 前言 一、登录苹果开发者网站 二、创建好APP 前言 uniapp开发多端应用,打包ios应用后,会生成一个ipa后缀的文件。这个文件无法直接安装在iphone上,需要将这个ipa文件上架app store后,才能通…

【经验分享】openGauss 客户端(Data Studio / DBeaver)连接方式

前言 本篇介绍了openGauss常用的客户端连接工具Data Studio和DBeaver 01 客户端工具 openGauss部署之后,在服务器上提供了在命令行下运行的数据库连接工具gsql。此工具除了具备操作数据库的基本功能,还提供了若干高级特性,便于用户使用。…

插槽slot使用

场景&#xff1a;el-button是绝对定位&#xff0c;希望它能根据query组件&#xff08;公共组件&#xff09;定位&#xff0c;query组件是相对定位。 <query :queryArr"queryParams" class"query"><div class"btn"><el-button cla…

王者小游戏

游戏里的经验动物 Bear package beast; import sxt.GameFrame; public class Bear extends Beast {public Bear(int x, int y, GameFrame gameFrame) {super(x, y, gameFrame);setImg("C:\\Users\\辛欣\\OneDrive\\桌面\\王者荣耀图片(1)\\王者荣耀图片\\beast\\bear.jp…

豆粕期权 MVIX 指数构建及策略回测

1. VIX指数 VIX 最初被设计出来的目的是为了预警市场的潜在风险&#xff0c;一般来说&#xff0c;当 VIX 指数小于 15 时&#xff0c;表示市场出现非理性繁荣&#xff1b;当 VIX 指数大于 40 时&#xff0c;表示市场对 未来的非理性恐慌&#xff0c;短期内可以出现反弹。VIX 指…

vue要做权限管理该怎么做?如果控制到按钮级别的权限怎么做?

面试官&#xff1a;vue要做权限管理该怎么做&#xff1f;如果控制到按钮级别的权限怎么做&#xff1f; 一、是什么 权限是对特定资源的访问许可&#xff0c;所谓权限控制&#xff0c;也就是确保用户只能访问到被分配的资源 而前端权限归根结底是请求的发起权&#xff0c;请求…

联邦学习(Federated Learning)

联邦学习&#xff08;Federated Learning&#xff09;是一种保护用户隐私的分布式机器学习方法&#xff0c;在联邦学习中&#xff0c;模型的训练是在分布式的客户端设备上进行的&#xff0c;而模型的更新则是在中央服务器上进行的。联邦学习的目标是通过共享模型而不是原始数据…

内网协议区别

今天面试的时候被面试官问到内网隧道技术中的协议有什么区别&#xff0c;平时只注重使用不注重原理&#xff0c;学习记录 2023-11-30 网络层&#xff1a;IPV6 隧道、ICMP 隧道、GRE 隧道 传输层&#xff1a;TCP 隧道、UDP 隧道、常规端口转发 应用层&#xff1a;SSH 隧道、HTTP…

力扣题:字符的统计-11.25

力扣题-11.25 [力扣刷题攻略] Re&#xff1a;从零开始的力扣刷题生活 力扣题1&#xff1a;387. 字符串中的第一个唯一字符 解题思想&#xff1a;直接遍历即可 class Solution(object):def firstUniqChar(self, s):""":type s: str:rtype: int""&qu…

leetcode 611. 有效三角形的个数(优质解法)

代码&#xff1a; class Solution {public int triangleNumber(int[] nums) {Arrays.sort(nums);int lengthnums.length;int n0; //三元组的个数//c 代表三角形最长的那条边for (int clength-1;c>2;c--){int left0;int rightc-1;while (left<right){if(nums[left]nums[r…

Mac 浏览器下载的文件名总是「乱码」

如果可以实现记得点赞分享&#xff0c;谢谢老铁&#xff5e; 本文所说的方法是在出现文件名乱码情况下&#xff0c;如何恢复文件名的正确中文名称&#xff0c;并非一劳永逸地避免乱码的出现。这是由于下载文件名称乱码的出现&#xff0c;往往是系统、浏览器、网站三方面因素共…

Linux CentOS7 fdisk

Centos7的磁盘管理包括添加磁盘、查看磁盘信息、磁盘分区、格式化、挂载和卸载&#xff0c;逻辑卷管理等。 对分区后的磁盘格式化比较简单&#xff0c;执行mkfs命令即可&#xff1b;而挂载可以使用的分区执行mount命令很方便地完成。本文仅讨论新添加磁盘的分区操作。 一、添…

【刷题笔记】长度最小的子数组||二分查找||边界||数组

长度最小的子数组 1 题目描述 https://leetcode.cn/problems/minimum-size-subarray-sum/ 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 连续子数组 [numsl, numsl1, …, numsr-1, numsr] &#xff0c;并返回…

打造线上数字企业展厅需要注意什么,线上展厅对企业有什么帮助

引言&#xff1a; 在当今数字化时代&#xff0c;越来越多的企业开始意识到线上数字企业展厅的重要性。一个精心打造的线上数字企业展厅不仅能够提升企业的形象&#xff0c;还能够为企业带来众多的市场机会。 一&#xff0e;打造线上数字企业展厅需要注意什么 1.明确目标和定位…

Tomcat 修改版本号

lib 目录下增加文件 /lib/org/apache/catalina/util/ServerInfo.properties ServerInfo.properties文件里面只需要输入server.info显示的版本号 其他可配置信息 server.infonginx server.number22.0 server.builtMay 11 2023 08:22:10 UTC 显示效果

Attention机制(笔记)

参考&#xff1a;2.3.2注意力机制-part1_哔哩哔哩_bilibili 什么是attention&#xff1f; 答&#xff1a;注意力放在事物最有辨识度的部分 attention计算机制&#xff1a; 为什么用这个公式可以得到attention&#xff1f; 补充说明&#xff08;chatGPT给出的解释&#xff09;&…