简介

CSRF(Cross-site request forgery) 跨站请求伪造,CSRF简单来说就是攻击者以你的身份去伪造恶意请求,比如以你的身份去发送邮件、消息、盗取账户信息甚至购买商品网上转账等

原理

  • 用户通过浏览器登录信用正常的网站A
  • 服务器验证通过后后传回cookie
  • 用户在没有登出信用网站情况下访问攻击者的危险网站B
  • 网站B会要求访问第三方站点A,并发出请求
  • 浏览器根据网站B的请求,并自动带上之前网站A上的cookie,访问服务器
  • 服务器由于只根据cookie来判断,判断不出是网站A还是B的请求,也会正常的处理该请求

特点

  • 攻击一般发起在第三方网站,第三方域名,而不是被攻击的网站,被攻击的网站无法防止攻击发生
  • 攻击利用用户在被攻击网站的登录凭证,如cookie,冒充受害者提交操作,而不是直接窃取数据
  • 整个过程攻击者并不能直接获取受害者的登录凭证,仅仅只是使用
  • 跨站请求可以用各种方式:图片URL、超链接、CORS、Form提交等等。部分请求方式可以直接嵌入在第三方论坛、文章中,难以进行追踪

常见的CSRF攻击类型

  • GET类型的CSRF

当用户点击网站B时会直接进行请求,假设(实际上没有可能)该网站以get请求来变动资金,这里就直接造成了资金损失

  <img src=http://www.mybank.com/pay?toBankId=11&money=1000 />
  • POST类型的CSRF

以一个自动提交的表单举例,当用户访问该网页时,会自动提交该表单,产生POST请求

 <form action

前端安全(二)CSRF相关推荐

  1. vue前端生成二维码,实现扫码下载功能

    vue前端生成二维码,实现扫码下载功能 首先需要安装一个插件 npm install --save qrcodejs2 然后在需要的页面引入插件,最后使用 <template><di ...

  2. uni-app实现仿微信前端(二)

    uni-app实现仿微信前端(二) 5. 完善通讯录界面 首先观察手机微信= =,不难看出共同点 所有的栏目都是左边图片右边描述 所以,建立相应的class <view class=" ...

  3. 微信小程序前端生成二维码并保存(海报同理)

    这里写自定义目录标题 1.前端生成二维码并保存 1.前端生成二维码并保存 1.下载weapp.qrcode.js文件并引入项目中 2.先在wxml文件中构建canvas画布 <canvas st ...

  4. 前端生成二维码qrcode.js,并下载

    利用qrcode.js在前端生成二维码,并下载 一.引入js包 <script type="text/javascript" src="//static.runoo ...

  5. 前端生成二维码与图片合成

    首先前端生成二维码 使用插件完成,插件为DrawQRCode.unitypackage  合成二维码直接使用DrawQRCode 类里提供的方法即可 生成二维码的方法 DrawCode_Color32 ...

  6. html,vue, react,angular 前端实现二维码生成 ,二维码解析

    本文的背景 近期,由于项目开发的需求,需要前端实现图片二维码的解析. 由于需求的需要,这边调研了一下,发现很多人都有着类似的需求,网上给的解决方案也很多,但是感觉还是有些..... 又想到之前做过前端 ...

  7. 前端生成二维码(借助草料)

    前端生成二维码. 使用草料API: generateQrCode(qrCode) {window.location.href = `https://cli.im/api/qrcode/code?tex ...

  8. 前端合成二维码与背景图片,批量导出ZIP下载

    前端合成二维码与背景图片,批量导出ZIP下载 背景:需要生成很多的二维码,并且结合背景图片一起生成图片,批量下载到本地,提供给打印厂商进行打印. 方案1:后台合成,后台提供下载. 方案2:前端合成,前 ...

  9. 微信小程序 - 人脸识别前端(二)拍照方式优化

    微信小程序 - 人脸识别前端(二)拍照方式优化 前文提及的识别方式较 low ,另外会留下识别痕迹,此处使用 <camera>组件进行优化. 前文地址:前文 参考文章:zhoujie-人脸 ...

  10. 前端安全之CSRF攻击(跨站请求伪造)

    提示:前端查漏补缺,仅代表个人观点,不接受任何批评 文章目录 一.CSRF是什么? 二.CSRF的攻击方式 1.浏览器的Cookie策略 2.GET,POST请求 3.P3P头的副作用 三.防范CSR ...

最新文章

  1. css盒子模型、边框border、外边距margin、填充padding、轮廓outline
  2. Science封面:三元锂电池安全性差、寿命短问题已解决,来自美国能源部华人团队最新研究...
  3. r语言和python-R语言和Python哪个适合生物信息学?
  4. OpenCV之core 模块. 核心功能(1)Mat - 基本图像容器 OpenCV如何扫描图像、利用查找表和计时 矩阵的掩码操作 使用OpenCV对两幅图像求和(求混合(blending))
  5. 添加tomcat7插件设置jdk编译版本
  6. 新一代消息队列 Pulsar
  7. .net SerialPort
  8. opencv 仿射变换与透视变换详解
  9. 滴滴java开发面试题_最新Java面试题汇总,看完这些面试文章足够了
  10. Atitit 常见概念与技术 dom及其解析 目录 1.1. Dom概念(文档对象模型(Document Object Model))是什么 1 1.1.1. 节点 2 1.1.2. Node 层次
  11. 阿里云解决方案汇总,24种上云场景,20O+篇企业上云实践
  12. Navicat Premium 12.0.29中文版64位+破解补丁
  13. MovieLens推荐系统数据集官方文档+解释
  14. DHU数据结构-顺序表- ADT应用-找匹配
  15. 算法复杂性渐近阶的分析
  16. python求主析取范式_肤浅的聊聊 TiDB 扫表算子, 扫索引算子, 合取范式(CNF), 析取范式(DNF), skyline pruning...
  17. c语言打印星号金字塔图形
  18. 谁是史上最强-用爬虫分析IMDB TOP250电影数据
  19. pyspider 文档介绍
  20. springboot日志配置logback-spring.xml

热门文章

  1. PyQT5 (八十九)设置窗口的控件风格 的案例
  2. 注册c#函数到lua
  3. easyUI 下拉框combobox根据数据的条数自动调整高度
  4. 变异分析 软件测试,变异测试 - 51Testing软件测试网
  5. 接银行支付系列(一)[账户说明]
  6. Uva 11806 拉拉队
  7. 【计算机网络-数据链路层】局域网(LAN)
  8. 如何连接开发环境和生产环境?
  9. 损失函数binary_crossentropy和categorical_crossentropy在单标签多分类模型中评价效果差异较大的原因
  10. VMS-B200国标加第三方录像机离线