当前位置: 首页 > news >正文

CSRF漏洞简介

今天继续给大家介绍渗透测试相关知识,本文主要内容是CSRF漏洞原理、产生与危害。

免责声明:
本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负!
再次强调:严禁对未授权设备进行渗透测试!

一、CSRF漏洞基本介绍

CSRF是Cross Site Request Forgery的缩写,即跨站请求伪造。CSRF漏洞会构造恶意链接,诱导用户点击,然后利用用户尚未失效的cookie等身份凭证,冒充用户进行一系列操作。
与XSS漏洞攻击相比,CSRF漏洞中攻击者并不能直接获取到目标用户的cookie,而是在目标用户不知情的情况下,使其发送含有cookie的特定操作的数据包,从而达到特定目的。

二、CSRF漏洞产生与原理

CSRF漏洞实现过程如下图所示:
在这里插入图片描述
从上图中我们可以看出,攻击者首先创建了一个网站,该网站内含有恶意链接。如果用户在同时访问某一特定网站,那么这个恶意链接就会使得用户向该特定的网站发送一个请求。当前浏览器机制会在向该网站发送请求时携带有cookie信息,从而被特定网站认为是该用户的操作。但是在本质上,该用户并不知情,之所以这个数据包发送出去,完全是由于攻击者网站的恶意链接。
CSRF漏洞攻击根据数据提交方式的不同,可以分为GET型CSRF和POST型CSRF。GET型和POST型的区别在于,目标站点对于数据的提交是采取GET型的还是POST型的。
针对GET型的CSRF攻击,用户一打开页面就可能受到攻击,而对于POST型的CSRF攻击,用户可能被诱导点击链接,然后收到攻击。

三、CSRF漏洞危害

CSRF漏洞主要有以下危害:
1、以受害者名义发送邮件、发送消息
2、以受害者名义发起银行转账
3、以受害者名义购买商品
4、以受害者名义传播木马、蠕虫病毒
我们可以发现,CSRF漏洞可以盗用受害者的身份和权限,也可以配合其他漏洞,造成更大的危害。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

相关文章:

  • C/C++航空客运订票系统
  • 编译原理之词法分析器随笔和简单实现
  • 47 - 父子间的冲突
  • 单片机和ARM A的区别
  • STC 51单片机40——汇编语言 串口 接收与发送
  • python破解wifi教程
  • Android App开发即时通信中通过SocketIO在客户端与服务端间传输文本和图片的讲解及实战(超详细 附源码)
  • 【网络安全】文件上传之安全狗bypass
  • MATLAB | 世界杯来用MATLAB画个足球玩叭~
  • LeetCode | 循环队列的爱情【恋爱法则——环游世界】
  • Android App开发音量调节中实现拖动条和滑动条和音频管理器AudioManager讲解及实战(超详细 附源码和演示视频)
  • 电视剧里的代码真能运行吗?
  • 让我们进入面向对象的世界(三)
  • 动态域名解析
  • 《工程伦理》1-13章汇总
  • php的引用
  • axios 和 cookie 的那些事
  • iOS动画编程-View动画[ 1 ] 基础View动画
  • Iterator 和 for...of 循环
  • Java面向对象及其三大特征
  • macOS 中 shell 创建文件夹及文件并 VS Code 打开
  • python 装饰器(一)
  • ucore操作系统实验笔记 - 重新理解中断
  • 缓存与缓冲
  • 码农张的Bug人生 - 初来乍到
  • 排序算法之--选择排序
  • 全栈开发——Linux
  • 实战:基于Spring Boot快速开发RESTful风格API接口
  • 首页查询功能的一次实现过程
  • 数组大概知多少
  • 详解NodeJs流之一
  • 2017年360最后一道编程题
  • mysql 慢查询分析工具:pt-query-digest 在mac 上的安装使用 ...
  • NLPIR智能语义技术让大数据挖掘更简单
  • scrapy中间件源码分析及常用中间件大全
  • Semaphore
  • 容器镜像
  • #pragma pack(1)
  • #图像处理
  • (8)STL算法之替换
  • (附源码)springboot工单管理系统 毕业设计 964158
  • (接口自动化)Python3操作MySQL数据库
  • (原)Matlab的svmtrain和svmclassify
  • (转)http-server应用
  • (转)PlayerPrefs在Windows下存到哪里去了?
  • (转)编辑寄语:因为爱心,所以美丽
  • *p++,*(p++),*++p,(*p)++区别?
  • ./和../以及/和~之间的区别
  • .equal()和==的区别 怎样判断字符串为空问题: Illegal invoke-super to void nio.file.AccessDeniedException
  • .Net调用Java编写的WebServices返回值为Null的解决方法(SoapUI工具测试有返回值)
  • @Pointcut 使用
  • [ 常用工具篇 ] POC-bomber 漏洞检测工具安装及使用详解
  • []新浪博客如何插入代码(其他博客应该也可以)
  • [Android]使用Android打包Unity工程
  • [BUAA软工]第一次博客作业---阅读《构建之法》