CSRF漏洞利用与防御
创始人
2024-03-19 12:21:52
0

今天继续给大家介绍渗透测试相关知识,本文主要内容是CSRF漏洞利用与防御。

免责声明:
本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负!
再次强调:严禁对未授权设备进行渗透测试!

一、CSRF漏洞利用

我们使用pikachu靶场进行CSRF漏洞的利用。

(一)GET型CSRF漏洞攻击

GET型CSRF漏洞靶场登陆后页面如下所示:
在这里插入图片描述
我们点击修改个人信息,就可以进入到修改个人信息的页面,如下所示:
在这里插入图片描述
成功修改个人信息后,如下所示:
在这里插入图片描述
在此过程中,我们使用Burpsuite抓包,数据包如下所示:
在这里插入图片描述
下面我们开始进行CSRF漏洞攻击演示。首先构造一个页面,页面只有一个img标签,标签的src属性设置为pikachu靶场更改电话号码的URL,靶场源码如下所示:


我们在登录皮卡丘靶场的页面上,直接访问该页面,结果发现pukachu靶场中vince用户的个人信息被修改,结果如下所示:
在这里插入图片描述
这说明,我们在访问了特制的网页后,用户在不知情的情况下,个人信息被修改了。

(二)POST型CSRF漏洞攻击

POST型CSRF漏洞靶场登录后页面如GET型相同,但是在修改信息时的提交方式是POST,数据包如下所示:
在这里插入图片描述
针对这种情形,我们需要改动一下页面,页面如下所示:

 




在上述代码中,我们仿照pikachu靶场设置了一个提交框,并且用JavaScript代码实现了自动提交。
访问该页面后,发现vince用户的个人信息又发生了改变,如下所示:
在这里插入图片描述
这说明,我们在访问了特制的网页后,用户个人信息又被修改了。

二、CSRF漏洞防御

针对CSRF漏洞,我们可以进行以下操作,以尽可能的封堵该漏洞,避免给用户造成损失。CSRF漏洞的防御主要有以下措施:
1、增加Token机制
在pikachu带有token的靶场下,数据包如下所示:
在这里插入图片描述
在这里插入图片描述
从以上可以看出,数据包在发送时,会携带token的字段,并且不同的数据包会携带不同的token。
我们还可以查看网站源代码,如下所示:
在这里插入图片描述
从上图中可以看出,在提交框中,有一个type为hiden的隐形input输入框,该输入框的值就是token的值。这个token会在请求网页时下发,并且在网页数据包提交后进行检查,从而使得攻击者控制用户发送的数据包失效。
2、逻辑上,设置输入原密码,输入验证码等操作。
实际上,token是最有效的防御CSRF漏洞的方式,除了使用token外,在业务逻辑上,对用户的关键操作要求输入原密码,或者是输入验证码等,也可以在一定程度上防御CSRF漏洞。
3、检测referer头
此外,referer头也是一个常见的CSRF漏洞防护措施,网站可以检测用户发送数据包的referer头,如果与本网站不一致,则说明该数据包疑似是CSRF诱导用户发送的数据包,进而采取措施。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...
【Ctfer训练计划】——(三... 作者名:Demo不是emo  主页面链接:主页传送门 创作初心ÿ...