fiddler CSFF安全漏洞-重点讲解refer字段、token字段
1、通常情况下,有三种方法可以被用来防御CSRF攻击:
- 验证token
- 验证HTTP请求的Referer
- 验证XMLHttpRequests里的自定义header
2、测试验证上面三种方法的步骤
- 验证token
注意:token应该要有随机性和时效性,
时效性:可以等待一段时间后,重新请求是否能请求成功,如果请求成功,那就是有问题
随机性:每一次token值应该是不一样的
- 验证HTTP请求的Referer
fiddler 找到请求的http后,在头文件找到refer字段,编辑后,直接搞为空,或者去掉,修改一下信息去重新请求,看下是否能请求成功,如果请求成功了,那就是有问题
- 验证XMLHttpRequests里的自定义header
哈哈哈,我没试过,等后面有遇到来补充,下面的图是从别的地方截图的,等后面再自己来更新,也不知道啥时候能更新
3、referer字段讲解
- 定义:HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器该网页是从哪个页面链接过来的,服务器因此可以获得一些信息用于处理。
- 作用:
1)防盗链
比如政务服务器只允许网站访问自己的静态资源,那服务器每次都需要判断Referer的值是否是zwfw.yn.gov.cn,如果是就继续访问,不是就拦截。
2)防止恶意请求
比如静态请求是.html结尾的,动态请求是.shtml,那么所有的*.shtml请求,必须 Referer为我自己的网站才可以访问,这就是Referer的作用。
3)空Referer?
空Referer是指Referer头部的内容为空,或者,一个HTTP 请求头中根本不包含Referer,那么什么时候HTTP请求会不包含Referer字段呢?
根据Referer的定义,它的作用是指示一个请求是从哪里链接过来,那么当一个请求并不是由链接触发产生的,那么自然也就不需要指定这个请求的链接来源。
比如,直接在浏览器的地址栏中输入一个资源的URL地址,那么这种请求是不会包含Referer字段的,因为这是一个“凭空产生”的HTTP请求,并不是从一个地方链接过去的。
4、token字段
- 定义
Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码。
- 基于token的验证方法
- 使用基于 Token 的身份验证方法,在服务端不需要存储用户的登录记录。流程是这样的:
客户端使用用户名跟密码请求登录
服务端收到请求,去验证用户名与密码
验证成功后,服务端会签发一个 Token,再把这个 Token 发送给客户端
客户端收到 Token 以后可以把它存储起来,比如放在 Cookie 里或者 Local Storage 里
客户端每次向服务端请求资源的时候需要带着服务端签发的 Token
服务端收到请求,然后去验证客户端请求里面带着的 Token,如果验证成功,就向客户端返回请求的数据
APP登录的时候发送加密的用户名和密码到服务器,服务器验证用户名和密码,如果成功,以某种方式比如随机生成32位的字符串作为token,存储到服务器中,并返回token到APP,以后APP请求时,
凡是需要验证的地方都要带上该token,然后服务器端验证token,成功返回所需要的结果,失败返回错误信息,让他重新登录。其中服务器上token设置一个有效期,每次APP请求的时候都验证token和有效期。 - 参考:https://www.cnblogs.com/lufeiludaima/p/pz20190203.html
本人QQ:3461838632
一名学习测试3年,工作4年菜鸟测试工程师,有问题可以加QQ私聊哈,可以交流测试的相关问题
fiddler CSFF安全漏洞-重点讲解refer字段、token字段相关推荐
- jQuery学习笔记--JqGrid相关操作 方法列表 备忘 重点讲解(超重要)
JqGrid相关操作备忘 方法列表 特别推荐:怎样获取某一方某一列的值: [html] view plaincopy var rowdata=jQuery("#list").jqG ...
- web渗透漏洞实例讲解视频课程
课程介绍 XX学院联合知道创宇404 实验室·漏洞社区组共同打造了<漏洞实例讲解>课程.这门课程针对当下流行的 9 类可直接威胁企业安全的高危漏洞进行讲解,通过对15 个经典漏洞的深入剖析 ...
- 计算机二级数据模型三要素,2017年计算机二级公共基础知识重点讲解:数据模型...
4.2 数据模型 数据模型的概念:是数据特征的抽象,从抽象层次上描述了系统的静态特征.动态行为和约束条件,为数据库系统的信息表与操作提供一个抽象的框架.描述了数据结构.数据操作及数据约束. E-R模型 ...
- c语言中0xa0f对应的十进制,全国计算机二级C基础知识重点讲解
全国计算机等级考试二级C基础知识重点讲解 第一章程序设计和C语言 本章考纲: 1.程序的构成,main函数和其他函数. 2.头文件,数据说明,函数的开始和结束标志以及程序中的注释. 3.源程序的书写格 ...
- 数据分析之缺失值填充(重点讲解多重插值法Miceforest)
数据分析之缺失值填充(重点讲解多重插值法Miceforest) 数据分析的第一步--数据预处理,不可缺失的一步.为了得到更好的结果,选择合适的数据处理方法是非常重要的! 数据预处理之缺失值填充 在大数 ...
- 计算机一级考试各种快捷键,2021年计算机等级考试重点讲解:(一级PS)文件操作常用快捷键...
  [导读]:2021年计算机等级考试重点讲解:(一级PS)文件操作常用快捷键 新建图形文件:[Ctrl]+[N] 用默认设置创建新文件:[Ctrl]+[Alt]+[N ...
- jQuery学习笔记--JqGrid相关操作 方法列表 备忘 重点讲解(超重要) from:jpr1990
JqGrid相关操作备忘 方法列表 1.获得当前列表行数:$("#gridid").getGridParam("reccount"); 2.获取选中行数据(js ...
- 散列查找(重点讲解查找失败的ASL) 习题集
更新日期:2021年10月10日 写在前边的话:你的支持是我写作的动力,有帮助到你的话麻烦点赞加收藏呦.感激不尽!如有错误也请留言指正. 考研数据结构练习,欢迎订阅我的专辑<考研数据结构题型分类 ...
- 29.CSRF及SSRF漏洞案例讲解
文章目录 CSRF&SSRF---漏洞案例讲解 1. CSRF---跨站请求伪造攻击 CSRF漏洞解释,原理 导图 原理详解 CSRF漏洞检测,案例,防御 防御方案 2. SSRF(服务器端请 ...
最新文章
- 【 MATLAB 】Fourier Transforms ( fft )
- WCF:如何将net.tcp协议寄宿到IIS
- 轻量级消息队列RedisQueue
- PowerDesigner 使用记录
- Jenkins 新版本及插件在Windows下的安装
- 基于ARM-contexA9-Linux驱动开发:如何获取板子上独有的ID号
- python赋值与c语言区别,运算符-赋值运算符和逻辑运算符
- php++redius,【答疑】请问edius音波显示快捷键是什么呢?怎么使用的呢? - 羽兔网问答...
- 工厂供电技术实训设备QY-PGD19
- 全球与中国SS-OCT激光市场深度研究分析报告
- 【0704】HL普及组模拟赛题解及反思
- ANO匿名飞控分析(1)— 遥控器解码
- Conflux CTO伍鸣博士应邀出席金色沙龙
- 图像处理、显示中的行宽(linesize)、步长(stride)、间距(pitch)
- 轻小说搜索及下载(基于8wenku)-python
- Nvidia nvenc cuvid + ffmpeg 硬编解码
- linux中yum provide,Liunx 安装YUM有没有详细的教程。
- 高等数学在计算机的应用论文,高等数学论文-计算机软件和应用.doc
- 电机分类及运行状态-同步、异步、直流
- 记录DHCP IPV6遇到的问题(一)
热门文章
- 华为harmonyos2.0哪里下载,华为HarmonyOS最新官方版-华为HarmonyOS2.0最新下载地址-游侠软件下载...
- 这几招对博勒飞粘度计检测精度的提升有很大帮助
- [QT_016]Qt学习之QPlainTextEdit 、QTextEdit 、QTextBrowser
- Vue学习记录07--vue路由的使用
- 泛泰A900 刷4.4专用中文TWRP2.7.1.1版 支持自己主动识别手机版本号(全球首创)...
- 【Java基础】 ⾯向对象编程三⼤特性 --封装、继承、多态
- 推荐10个优质的前端公众号
- java卸载干净_win10系统java如何卸载_win10怎么把java卸载干净
- vue学习笔记 DAY1 P1~P6
- 修改Matlab的背景颜色