1.CSRF漏洞原理

CSRF(Cross-site request forgery),跨站请求伪造,简写 CSRF/XSRF。指利用受害者尚未失效的身份认证信息(cookie、会话等),诱骗其点击恶意链接或者访问包含攻击代码的页面,在受害人不知情的情况下以受害者的身份向(身份认证信息所对应的)服务器发送请求,从而完成非法操作(如转账、改密等)。

CSRF与XSS最大的区别就在于,CSRF并没有盗取cookie而是直接利用

2.CSRF漏洞测试

上文说过了CSRF漏洞不盗取用户身份信息,而是利用用户身份信息去伪装成受信任的用户来发起请求。一般情况下,我们可以通过抓包软件抓取数据包,然后以GET或POST形式制作成链接或页面,之后诱骗目标用户点击。目标用户点击后,因为浏览器会自动携带cookie向服务器发送请求,这样用户可能在不知情的情况下完成了对自己不利的操作

比如恶意用户lisi发现某银行个人网银的转账请求如下所示(注意www.testbank.com为本地演示地址):

GET /personTransfer.do?account=612**158&money=1000.0&name=lisi HTTP/1.1
Host: www.testbank.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:107.0) Gecko/20100101 Firefox/107.0
Cookie:
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Referer: http://www.testbank.com
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: cross-site
Sec-Fetch-User: ?1
Te: trailers
Connection: close

lisi现在希望大家都给自己转账,他将account改为自己的账号,name改为他的名字,money改为1000.0元。之后使用Burp构造CSRF POC。

我们可以点击下方Copy Html将它粘贴成一个html文件,置于我们的服务器下,然后将这个链接发给目标用户,想办法让他点击即可。

这里为了演示,我直接选择Test in browser,之后会出现一个URL,点击Copy,这个链接就是给目标用户点击的。

当我访问这个链接后http://burpsuite/show/3/qizpy26u7wa3myaejlqbzowa66ktko5n,可以看到浏览器携带着我的Cookie向lisi发起了转账操作,这样在我不知情的情况下,lisi就盗取了我的money。

你可以清晰的看到,点击不明链接的危害有多大!

3.CSRF漏洞修复

(1)使用token

CSRF攻击想要成功,攻击者必须要准确地预测所有的参数从而伪造出合法的请求。所以我们可以在请求中添加一个随机的参数token,它是随机的,并是一次性的,并在服务器端检验,如果请求中没有token或者token的内容不正确,那么就拒绝该请求。

(2)检测Referer

通过检查Referer的值,我们就可以判断这个请求是合法的还是非法的,如果Referer是以自己的网站开头的域名,那么就说明该请求是合法的。

(3)关键操作只接受 POST 请求。

《WEB安全漏洞100讲》(第4讲)CSRF漏洞相关推荐

  1. 一个express老系统csrf漏洞修复

    一个运行快两年的express框架web系统,被安全部门审核存在csrf漏洞,项目使用的前后端分离的形式,所有功能操作,通过ajax调用后端接口来完成,查了很多资料,一个基本的防御思想就是验证随机数了 ...

  2. 【Web安全笔记】之【4.0 常见漏洞攻防】

    文章目录 4.0 常见漏洞攻防 4.1 SQL注入 4.1.1 注入分类 1. 简介 2. 按技巧分类 1). 盲注 2). 报错注入 3). 堆叠注入 3. 按获取数据的方式分类 1). inban ...

  3. 数据工程系列精讲(第一讲): Data-centric AI 之特征工程

    前言 这两年我们观察到越来越多的算法工程师重视数据的特征工程,AI业界大佬吴恩达教授在2021年提出了从model-centric AI切换到data-centric AI的论调,我个人认为data- ...

  4. web安全-----CSRF漏洞

    简述 CSRF:Cross-site request -forgery,跨站请求伪造,是一种web攻击方式,是由于网站的cookie在浏览器中不会过期,只要不关闭浏览器或者退出登录,那以后只要访问这个 ...

  5. 华为开发者大会上,鸿蒙问世、方舟编译器开源、还有 EMUI 10;壕置100万美元,苹果推出漏洞攻击报告赏金计划……...

    关注并标星星CSDN云计算 极客头条:速递.最新.绝对有料.这里有企业新动.这里有业界要闻,打起十二分精神,紧跟fashion你可以的! 每周三次,打卡即read 更快.更全了解泛云圈精彩news g ...

  6. 【英宝通Unity4.0公开课学习 】(六)76讲到90讲

    还是关于Mecanim动画的内容. 这些讲的每讲长度明显比前面的长,而且很多都涉及到脚本编写. 不过我还是2倍速给略览过去了,主要目的就是学个框架嘛 :) 1. Blend Tree 可嵌套. 可理解 ...

  7. 视觉SLAM十四讲 第9讲 后端1 贝叶斯法则 式9.5推导

    视觉SLAM十四讲 第9讲 后端1 贝叶斯法则 式9.5推导 在学习高博的视觉SLAM十四讲第9讲后端1的时候,看到了式9.5,有如下内容: 下面我们来看如何对状态进行估计.按照贝叶斯法则,把zkz_ ...

  8. 视觉SLAM十四讲 第1-2讲 初识SLAM

    视觉SLAM十四讲 第1-2讲 初识SLAM 1. slam 是什么 2. SLAM基本模块 3. 相机的种类 4. 视觉slam基本流程 5. 非/线性系统.非/高斯系统 6. CMake 1. s ...

  9. 高博14讲--第七讲 视觉里程计-7.3 2D-2D:对极几何

    高博14讲--第七讲 视觉里程计-7.3 2D-2D:对极几何 基本问题 对极约束 对极约束推导过程 本质矩阵 八点法 八点法推导过程 本质矩阵$\ E$的SVD分解 单目SLAM的一些问题 尺度不确 ...

最新文章

  1. 低功耗蓝牙系统结构流程图
  2. 160 - 21 Cabeca
  3. fedora 33 topbar_最新!新增确诊病例33例,其中本土病例1例
  4. 第八章:软件包的安装与管理
  5. 第二次作业+105032014049
  6. 在线购物系统后台登录界面html代码,电子商城(购物网站)html模板源码
  7. archlinux设置屏幕亮度
  8. 层次时间序列预测指南
  9. Unity3D手游开发实践《腾讯桌球》客户端开发经验总结
  10. 笔记本合上盖子不休眠
  11. 企业微信如何快速高效添加好友?
  12. 不羁野草挑战遗传法则
  13. AprilTag中的apriltag.c文件
  14. WLAN 双链路+HSB高可靠性
  15. 地缘剧本杀 (七):民意(原创小说连载,内含语音)
  16. 交换机的连接方式详解(图)
  17. java多线程累加计数
  18. 岭南(含广东广西海南)地形及DEM下载
  19. 制作一个USB可燃气体声光报警器
  20. JS方法参数设置为默认值的几种方式

热门文章

  1. FTP上传下载工具(FlashFXP) v5.5.0 中文版
  2. ubuntu定时执行python脚本_Ubuntu 每天定时开关机并运行指定脚本
  3. Matlab模拟质点极坐标系中运动规律(螺旋运动)
  4. 《语雀 IT 百科》发布了!
  5. 计算机系统基础:数据的表示和存储
  6. RSA+Base64加密
  7. JAVA基础(七)JAVA面向对象
  8. eclips报错如下:
  9. 地下管线三维建模痛点分析与优化
  10. 如何利用本地硬盘装系统?教你快速装系统