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字段相关推荐

  1. jQuery学习笔记--JqGrid相关操作 方法列表 备忘 重点讲解(超重要)

    JqGrid相关操作备忘 方法列表 特别推荐:怎样获取某一方某一列的值: [html] view plaincopy var rowdata=jQuery("#list").jqG ...

  2. web渗透漏洞实例讲解视频课程

    课程介绍 XX学院联合知道创宇404 实验室·漏洞社区组共同打造了<漏洞实例讲解>课程.这门课程针对当下流行的 9 类可直接威胁企业安全的高危漏洞进行讲解,通过对15 个经典漏洞的深入剖析 ...

  3. 计算机二级数据模型三要素,2017年计算机二级公共基础知识重点讲解:数据模型...

    4.2 数据模型 数据模型的概念:是数据特征的抽象,从抽象层次上描述了系统的静态特征.动态行为和约束条件,为数据库系统的信息表与操作提供一个抽象的框架.描述了数据结构.数据操作及数据约束. E-R模型 ...

  4. c语言中0xa0f对应的十进制,全国计算机二级C基础知识重点讲解

    全国计算机等级考试二级C基础知识重点讲解 第一章程序设计和C语言 本章考纲: 1.程序的构成,main函数和其他函数. 2.头文件,数据说明,函数的开始和结束标志以及程序中的注释. 3.源程序的书写格 ...

  5. 数据分析之缺失值填充(重点讲解多重插值法Miceforest)

    数据分析之缺失值填充(重点讲解多重插值法Miceforest) 数据分析的第一步--数据预处理,不可缺失的一步.为了得到更好的结果,选择合适的数据处理方法是非常重要的! 数据预处理之缺失值填充 在大数 ...

  6. 计算机一级考试各种快捷键,2021年计算机等级考试重点讲解:(一级PS)文件操作常用快捷键...

    &nbsp&nbsp[导读]:2021年计算机等级考试重点讲解:(一级PS)文件操作常用快捷键 新建图形文件:[Ctrl]+[N] 用默认设置创建新文件:[Ctrl]+[Alt]+[N ...

  7. jQuery学习笔记--JqGrid相关操作 方法列表 备忘 重点讲解(超重要) from:jpr1990

    JqGrid相关操作备忘 方法列表 1.获得当前列表行数:$("#gridid").getGridParam("reccount"); 2.获取选中行数据(js ...

  8. 散列查找(重点讲解查找失败的ASL) 习题集

    更新日期:2021年10月10日 写在前边的话:你的支持是我写作的动力,有帮助到你的话麻烦点赞加收藏呦.感激不尽!如有错误也请留言指正. 考研数据结构练习,欢迎订阅我的专辑<考研数据结构题型分类 ...

  9. 29.CSRF及SSRF漏洞案例讲解

    文章目录 CSRF&SSRF---漏洞案例讲解 1. CSRF---跨站请求伪造攻击 CSRF漏洞解释,原理 导图 原理详解 CSRF漏洞检测,案例,防御 防御方案 2. SSRF(服务器端请 ...

最新文章

  1. 【 MATLAB 】Fourier Transforms ( fft )
  2. WCF:如何将net.tcp协议寄宿到IIS
  3. 轻量级消息队列RedisQueue
  4. PowerDesigner 使用记录
  5. Jenkins 新版本及插件在Windows下的安装
  6. 基于ARM-contexA9-Linux驱动开发:如何获取板子上独有的ID号
  7. python赋值与c语言区别,运算符-赋值运算符和逻辑运算符
  8. php++redius,【答疑】请问edius音波显示快捷键是什么呢?怎么使用的呢? - 羽兔网问答...
  9. 工厂供电技术实训设备QY-PGD19
  10. 全球与中国SS-OCT激光市场深度研究分析报告
  11. 【0704】HL普及组模拟赛题解及反思
  12. ANO匿名飞控分析(1)— 遥控器解码
  13. Conflux CTO伍鸣博士应邀出席金色沙龙
  14. 图像处理、显示中的行宽(linesize)、步长(stride)、间距(pitch)
  15. 轻小说搜索及下载(基于8wenku)-python
  16. Nvidia nvenc cuvid + ffmpeg 硬编解码
  17. linux中yum provide,Liunx 安装YUM有没有详细的教程。
  18. 高等数学在计算机的应用论文,高等数学论文-计算机软件和应用.doc
  19. 电机分类及运行状态-同步、异步、直流
  20. 记录DHCP IPV6遇到的问题(一)

热门文章

  1. 华为harmonyos2.0哪里下载,华为HarmonyOS最新官方版-华为HarmonyOS2.0最新下载地址-游侠软件下载...
  2. 这几招对博勒飞粘度计检测精度的提升有很大帮助
  3. [QT_016]Qt学习之QPlainTextEdit 、QTextEdit 、QTextBrowser
  4. Vue学习记录07--vue路由的使用
  5. 泛泰A900 刷4.4专用中文TWRP2.7.1.1版 支持自己主动识别手机版本号(全球首创)...
  6. 【Java基础】 ⾯向对象编程三⼤特性 --封装、继承、多态
  7. 推荐10个优质的前端公众号
  8. java卸载干净_win10系统java如何卸载_win10怎么把java卸载干净
  9. vue学习笔记 DAY1 P1~P6
  10. 修改Matlab的背景颜色