前端安全(二)CSRF
简介
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相关推荐
- vue前端生成二维码,实现扫码下载功能
vue前端生成二维码,实现扫码下载功能 首先需要安装一个插件 npm install --save qrcodejs2 然后在需要的页面引入插件,最后使用 <template><di ...
- uni-app实现仿微信前端(二)
uni-app实现仿微信前端(二) 5. 完善通讯录界面 首先观察手机微信= =,不难看出共同点 所有的栏目都是左边图片右边描述 所以,建立相应的class <view class=" ...
- 微信小程序前端生成二维码并保存(海报同理)
这里写自定义目录标题 1.前端生成二维码并保存 1.前端生成二维码并保存 1.下载weapp.qrcode.js文件并引入项目中 2.先在wxml文件中构建canvas画布 <canvas st ...
- 前端生成二维码qrcode.js,并下载
利用qrcode.js在前端生成二维码,并下载 一.引入js包 <script type="text/javascript" src="//static.runoo ...
- 前端生成二维码与图片合成
首先前端生成二维码 使用插件完成,插件为DrawQRCode.unitypackage 合成二维码直接使用DrawQRCode 类里提供的方法即可 生成二维码的方法 DrawCode_Color32 ...
- html,vue, react,angular 前端实现二维码生成 ,二维码解析
本文的背景 近期,由于项目开发的需求,需要前端实现图片二维码的解析. 由于需求的需要,这边调研了一下,发现很多人都有着类似的需求,网上给的解决方案也很多,但是感觉还是有些..... 又想到之前做过前端 ...
- 前端生成二维码(借助草料)
前端生成二维码. 使用草料API: generateQrCode(qrCode) {window.location.href = `https://cli.im/api/qrcode/code?tex ...
- 前端合成二维码与背景图片,批量导出ZIP下载
前端合成二维码与背景图片,批量导出ZIP下载 背景:需要生成很多的二维码,并且结合背景图片一起生成图片,批量下载到本地,提供给打印厂商进行打印. 方案1:后台合成,后台提供下载. 方案2:前端合成,前 ...
- 微信小程序 - 人脸识别前端(二)拍照方式优化
微信小程序 - 人脸识别前端(二)拍照方式优化 前文提及的识别方式较 low ,另外会留下识别痕迹,此处使用 <camera>组件进行优化. 前文地址:前文 参考文章:zhoujie-人脸 ...
- 前端安全之CSRF攻击(跨站请求伪造)
提示:前端查漏补缺,仅代表个人观点,不接受任何批评 文章目录 一.CSRF是什么? 二.CSRF的攻击方式 1.浏览器的Cookie策略 2.GET,POST请求 3.P3P头的副作用 三.防范CSR ...
最新文章
- css盒子模型、边框border、外边距margin、填充padding、轮廓outline
- Science封面:三元锂电池安全性差、寿命短问题已解决,来自美国能源部华人团队最新研究...
- r语言和python-R语言和Python哪个适合生物信息学?
- OpenCV之core 模块. 核心功能(1)Mat - 基本图像容器 OpenCV如何扫描图像、利用查找表和计时 矩阵的掩码操作 使用OpenCV对两幅图像求和(求混合(blending))
- 添加tomcat7插件设置jdk编译版本
- 新一代消息队列 Pulsar
- .net SerialPort
- opencv 仿射变换与透视变换详解
- 滴滴java开发面试题_最新Java面试题汇总,看完这些面试文章足够了
- Atitit 常见概念与技术 dom及其解析 目录 1.1. Dom概念(文档对象模型(Document Object Model))是什么	1 1.1.1. 节点	2 1.1.2. Node 层次
- 阿里云解决方案汇总,24种上云场景,20O+篇企业上云实践
- Navicat Premium 12.0.29中文版64位+破解补丁
- MovieLens推荐系统数据集官方文档+解释
- DHU数据结构-顺序表- ADT应用-找匹配
- 算法复杂性渐近阶的分析
- python求主析取范式_肤浅的聊聊 TiDB 扫表算子, 扫索引算子, 合取范式(CNF), 析取范式(DNF), skyline pruning...
- c语言打印星号金字塔图形
- 谁是史上最强-用爬虫分析IMDB TOP250电影数据
- pyspider 文档介绍
- springboot日志配置logback-spring.xml
热门文章
- PyQT5 (八十九)设置窗口的控件风格 的案例
- 注册c#函数到lua
- easyUI 下拉框combobox根据数据的条数自动调整高度
- 变异分析 软件测试,变异测试 - 51Testing软件测试网
- 接银行支付系列(一)[账户说明]
- Uva 11806 拉拉队
- 【计算机网络-数据链路层】局域网(LAN)
- 如何连接开发环境和生产环境?
- 损失函数binary_crossentropy和categorical_crossentropy在单标签多分类模型中评价效果差异较大的原因
- VMS-B200国标加第三方录像机离线