当前位置:网站首页>CSRF攻击
CSRF攻击
2022-06-11 00:16:00 【zhen12321】
背景
十几年前被列入信安领域十大著名漏洞之一,现在虽然排名下降,但是如果没有做好防范,仍会让人中招。
原理
利用了cookie会在http请求中自动携带的特点。
前提:用户登录了某个网站,该网站将cookie发送到用户客户端,该cookie是登录凭证
攻击:攻击者诱导用户访问自己的钓鱼网站,被攻击者通过在同一个浏览器下点击了攻击者伪造的访问真实后端的接口的一个跨域携带cookie的请求。跨域携带cookie因为被同源策略禁止,因此ajax的方式无法携带cookie,(否则攻击者就不用诱导别人了,直接自己发就可以了)。
- 这个方式通常是一个img 的src,然后src是实际的GET接口地址,这个img可以隐藏,利用了img天然跨域的策略(类似于jsonp)
- 针对post提交,攻击者构造一个隐藏的表单,通过Js自动触发form的提交事件从而触发发起post请求。
这种模拟真实站点发起的网络请求,虽然第三方网站并不会拿到受害网站的cookie,(cookie有作用域),但是可以利用cookie自动携带到http请求头中来骗过浏览器,让浏览器认为这个请求是来自于该网站前端的正常请求,因此就会自动将该源的cookie携带到这个请求上。
和xss攻击的不同
- xss攻击是将攻击脚本直接注入浏览器中,用户一打开受害网站就中招,csrf攻击则需要诱导用户打开自己的网站
如何防御这种攻击
- 服务器端:利用响应头中Reference字段,来判断用户是否来源于原站点。
- 缺点:攻击者仍然可以通过修改ajax来完成对于Reference响应头的修改
- 使用一段来自于服务器的唯一的值来校验。
- 具体做法:服务器每次都返回一个唯一的,不重复的值隐藏到客户端,客户端每一次请求都会携带这个值,当服务器收到这个值就将其销毁。
- 原理:类似于token,做了服务器端校验,且有有效期(一次请求和响应)。利用了攻击者网站无法得知用户浏览器的数据的特点。
- 采用token的方式进行通信
- token的方式进行通信,因为token是一个成熟的RFC提案,所以广泛的被采用在前后端分离的项目中用以保证接口安全。因为是专门干这个的,所以被采用量也特别高。
- 对cookie进行设置
- 让它只能在http协议下发送
- 让它只能在https协议下发送
- 让它只能在源站点发送
总结
CSRF攻击也可以搭配xss攻击来使用,主要是利用了cookie这个不安全的特性的特点,所以建议大家从现在开始,所有项目的服务器和客户端通信尽量不要使用cookie。
前端做存储也尽量不要使用cookie来存储内容,因为cookie大小也小,最重要的是它的提出导致了很多安全漏洞,而我们现在有更好的选择,为什么不采用呢?
边栏推荐
- 最好的创意鼓工具:Groove Agent 5
- 配置化自定义实现1.实现接口,2.自定义配置3.默认配置
- Beijing Pinggu District high tech enterprise cultivation support standard, with a subsidy of 100000 yuan
- WSL 自动更新 ip hosts 文件
- Blend for visual studio overview
- About log traffic monitoring and early warning small project | database management tool: migrate
- 库存管理与策略模式
- Viewpager and dot of bottom wireless loop
- 文件“Setup”不存在,怎么办?
- [persistent problems of NVIDIA driver] - - /dev/sdax:clean, xxx/xxx files, xxx/xxx blocks - the most complete solution
猜你喜欢

限流与下载接口请求数控制

【NVIDIA驱动的顽固问题】---- /dev/sdax:clean,xxx/xxx files,xxx/xxx blocks ---- 最全解决方法

最好的创意鼓工具:Groove Agent 5

云呐|庆远固定资产管理及条码盘点系统
![[paper reading] fixmatch: simplifying semi supervised learning with consistency and confidence](/img/86/72726f933deef6944b62149759b7d5.png)
[paper reading] fixmatch: simplifying semi supervised learning with consistency and confidence

ViewPager和底部无线循环的小圆点

zabbix离线安装

About the log traffic monitoring and early warning small project | standardized return of interaction with the database in flask

简述自定义注解

WPF - timeline class
随机推荐
北京中国专利奖申报流程介绍,补贴100万
Blend for visual studio overview
一些有的没的闲话
Array simulation [queue] and [ring queue]_ code implementation
快递鸟系统对接
北京门头沟区高新技术企业培育支持标准,补贴10万
adb循环输出内存信息到文件夹
2022年高考加油 那年我的高考如此兴奋
[ROS tutorial] - 02 ROS installation
深圳中国专利奖申报流程介绍,补贴100万
[paper reading] boostmis: boosting medical image semi supervised learning with adaptive pseudolabeling
IRS应用发布之十六:H5 应用设计指南
dma_ buf_ export
Beijing Fangshan District high tech enterprise cultivation support standard, with a subsidy of 100000 yuan
Traversal (pre order, middle order, post order) and search of binary tree
2022 recognition requirements for new technologies and new products (services) in Huairou District, Beijing
Serrures dans SQLSERVER
【VBA脚本】提取word文档中所有批注的信息和待解决状态
Introduction to the application process of China Patent Award, with a subsidy of 1million yuan
深圳中国专利奖政策支持介绍,补贴100万