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

前言

总结,仅供学习。

csrf的理解

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

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

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

当别人来访时,

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

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

csrf目前的存在情况

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

小中型的网站后台常有。

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

csrf的前提条件

登录要修改信息的网站。

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

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

csrf的判断

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

csrf与xss的区别

csrf与xss很多人会混淆

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

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

get型csrf入侵案例

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

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

kobe被黑需要做的

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

【web安全】CSRF漏洞攻击与防御_第1张图片

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

【web安全】CSRF漏洞攻击与防御_第2张图片

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

接下来是lili需要做的。

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

先改一下信息查看数据包

【web安全】CSRF漏洞攻击与防御_第3张图片

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

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

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

lili搭建网站的过程

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

【web安全】CSRF漏洞攻击与防御_第4张图片

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

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

【web安全】CSRF漏洞攻击与防御_第5张图片

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

【web安全】CSRF漏洞攻击与防御_第6张图片

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

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

【web安全】CSRF漏洞攻击与防御_第7张图片

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

kobe视角

【web安全】CSRF漏洞攻击与防御_第8张图片

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

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

这时kobe点击了按钮

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

【web安全】CSRF漏洞攻击与防御_第9张图片

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

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

防御方法

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

2、设置随机Token

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

(但是referer可以被篡改)

4、设置验证码

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

最好用的是token。

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

类似这个

【web安全】CSRF漏洞攻击与防御_第10张图片

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

你可能感兴趣的:(网络安全总结,web安全,csrf,安全)