【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这次更改信息就是这个编号,下次就更改数据包就会变化,所以我们用上次的数据就无法更改了。

类似这个

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

相关推荐
腾视科技2 小时前
安全驾驶 智在掌控|腾视科技ES06终端,为车辆运营赋能
大数据·人工智能·科技·安全·大模型
cliproxydaili2 小时前
Cliproxy与Adspower指纹浏览器:跨境业务安全与效率的双重引擎
运维·服务器·安全
zandy10112 小时前
2025企业级智能体平台架构拆解: 如何安全合规下构筑强大的护城河
大数据·安全·架构·智能体
小小小CTFER8 小时前
理论题] 2025 年 “技耀泉城” 海右技能人才大赛网络安全知识竞赛题目(二)
算法·安全·web安全
杭州泽沃电子科技有限公司19 小时前
烧结工序的“隐形守护者”:在线监测如何成为钢铁制造的关键支柱
物联网·安全·智能监测
卓豪终端管理19 小时前
从发现到阻止:构建自动化内部威胁防线的核心步骤
网络·安全·web安全
第十六年盛夏.19 小时前
【网络安全】未授权漏洞
安全·web安全
骥龙21 小时前
1.1、开篇:AI如何重塑网络安全攻防格局?
人工智能·安全·web安全
Web3_Daisy1 天前
冷换仓的隐性代价:从安全策略到地址信誉体系的重新思考
大数据·安全·web3·区块链·比特币·1024程序员节