逻辑漏洞挖掘之CSRF漏洞原理分析及实战演练 | 京东物流技术团队

news2024/11/20 20:38:41

一、前言

2月份的1.2亿条用户地址信息泄露再次给各大公司敲响了警钟,数据安全的重要性愈加凸显,这也更加坚定了我们推行安全测试常态化的决心。随着测试组安全测试常态化的推进,有更多的同事对逻辑漏洞产生了兴趣,本系列文章旨在揭秘逻辑漏洞的范围、原理及预防措施,逐步提升大家的安全意识。第二篇选取了广为熟知的CSRF漏洞进行介绍。

二、CSRF漏洞介绍

1、CSRF漏洞的定义

跨站请求伪造(Cross-site request forgery,简称CSRF),攻击者利用受害者身份发起了HTTP请求,导致受害者在不知情的情况下进行了业务操作,如修改资料、提交订单、发布留言或评论等

2、CSRF主要攻击形式

① GET类型的CSRF

这类攻击非常简单,只需要一个HTTP请求:

② POST类型的CSRF

这种类型的 CSRF 利用起来通常使用的是一个自动提交的表单,访问问该页面后,表单会自动提交,相当于模拟用户完成了一次 POST 操作。可见这种类型的 CSRF 与第一种一样,都是模拟请求,所以后端接口也不能将安全寄托在仅允许 POST 请求上。

③ 链接类型的 CSRF

链接类型的CSRF并不常见,比起其他两种用户打开页面就中招的情况,这种类型需要用户点击链接才会触发,但本质上与前两种一样。这种类型通常是在论坛发布的图片中嵌入恶意链接,或者以广告的形式诱导用户中招,攻击者通常会以比较夸张的词语诱骗用户点击,例如:<a href=" taget=“_blank”> 由于之前用户登录了信任的网站A,并且保存登录状态,只要用户主动访问这个页面,则表示攻击成功。

3、CSRF漏洞危害

CSRF漏洞可能导致在用户不知情的情况下进行业务操作:

① 修改资料

② 提交订单

③ 发布留言或评论(关键操作、增删改)等

三、CSRF漏洞原理分析

四、CSRF漏洞实例分析

1、GET类型的CSRF

通过请求“http://1.116.45.67:82/vul/csrf/csrfget/csrf_get_edit.php?sex=%E5%A5%B3&phonenum=19898980000&add=%E5%8C%97%E4%BA%AC&email=555%40qq.com&submit=submit”即可修改用户邮箱

2、POST类型的CSRF

构造form表单类型的poc,请求addOrEdit接口新增字典成功。

五、CSRF漏洞防范意见

1、验证请求的Referer值

如果Referer是以⾃⼰的⽹站开头的域名,则说明该请求来⾃⽹站⾃⼰,是合法的。如果Referer是其他⽹站域名或空⽩,就有可能是CSRF攻击,那么服务器应拒绝该请求,但是此⽅法存在被绕过的可能。

2、请求中添加token并验证

CSRF攻击之所以能够成功,是因为攻击者可以伪造⽤户的请求,由此,抵御CSRF攻击的关键在于:在请求中放⼊攻击者不能伪造的信息。例如可以在HTTP请求中以参数的形式加⼊⼀个随机产⽣的token,并在服务器端验证token,如果请求中没有token或者token的内容不正确,则认为该请求可能是CSRF攻击从⽽拒绝该请求。

六、CSRF常用构造内容

1、GET类型:

2、POST类型的CSRF

表单类型 POC构造:

JSON类型 POC构造:

作者:京东物流 范文君

来源:京东云开发者社区 自猿其说Tech 转载请注明来源

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1154718.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

QCustomPlot 瀑布图色度条

1、单独应用在一个QWidget中。 通过新建一个瀑布图后移除瀑布图即可只留住色度条。 QCustomPlot *customPlot ui->widget;QCPColorScale *colorScale new QCPColorScale(customPlot);customPlot->plotLayout()->addElement(0, 1, colorScale); // add it to the ri…

龙迅LT2611UXC 双PORT LVDS转HDMI(2.0)+音频

.描述&#xff1a; LT2611UXC是一个高性能的LVDS到HDMI2.0的转换器&#xff0c;用于STB&#xff0c;DVD应用程序。 LVDS输入可配置为单端口或双端口&#xff0c;有1个高速时钟通道&#xff0c;3~4个高速数据通道&#xff0c;最大运行1.2Gbps/通道&#xff0c;可支持高达9.6Gb…

Android 10适配外部存储方案

Android Api 29 对文件和文件夹进行了重大更改。不允许使用外部存储&#xff0c;如下方法&#xff1a; Environment.getExternalStorageDirectory() /mnt/sdcard Environment.getExternalStoragePublicDirectory(“test”) /mnt/sdcard/test 只能使用内部存储 getExterna…

实用篇-Linux

一、Linux介绍 linux特点 免费开源多用户多任务 Linux系统版本分为内核版和发行版 发行版是基于内核版进行扩展&#xff0c;由各个Linux厂商开发和维护&#xff0c;因为我们真正使用linux最终安装的其实是linux的发行版 下面以CentOS为例来学习Linux 二、Linux安装 安装方式…

S32DS踩坑日记三-使用EEPROM

这个片子的EEPROM是用普通的flash模拟的&#xff0c;所以配置比较复杂。需要先增加flash&#xff0c;然后再配置模拟EEPROM那块的电路。 这个模拟的大概意思是这样&#xff1a;片子内置一块用于数据存储的flash&#xff0c;叫D-flash&#xff0c;大小是64K&#xff0c;起始地址…

SHCTF-校外赛道 2023 WEB部分题解wp()

[WEEK1]babyRCE 开题&#xff0c;直接给了源码&#xff0c;简单过滤。 被过滤绕过方法cat/tacuniqflagfla?空格%09 payload: ?rcels%09/?rceuniq%09/fla?[WEEK1]1zzphp 考点&#xff1a;intval()函数绕过&#xff08;数组&#xff09;、PCRE回溯次数限制绕过 直接给了…

大数据之LibrA数据库系统告警处理(ALM-12005 OKerberos资源异常)

告警解释 告警模块对Manager中的Kerberos资源的状态进行监控&#xff0c;当Kerberos资源异常时&#xff0c;系统产生此告警。 当Kerberos资源恢复时&#xff0c;且告警处理完成时&#xff0c;告警恢复。 告警属性 告警参数 对系统的影响 Manager中的Kerberos资源异常&#…

网课 - 网页视频-倍速播放-快进-拖动进度条-增大音量 - 火狐Firefox浏览器

本文使用的浏览器为火狐Firefox浏览器。 用浏览器播放视频&#xff0c;比如看网课、看在线电影电视剧时&#xff0c;经常能遇到的情况与解决方案&#xff1a; 音量太小&#xff0c;即使调整到100%还是不够响亮 这时可以安装插件“600% Sound Volume”, 安装之后可在原来音量的…

843. n-皇后问题

文章目录 QuestionIdeasCode Question n− 皇后问题是指将 n 个皇后放在 nn 的国际象棋棋盘上&#xff0c;使得皇后不能相互攻击到&#xff0c;即任意两个皇后都不能处于同一行、同一列或同一斜线上。 现在给定整数 n &#xff0c;请你输出所有的满足条件的棋子摆法。 输入格…

mybatis-plus 使用 mybatis-plus-join 增强多表关联查询能力

一、mybatis-plus-join mybatis-plus 原生的能力不支持多表关联&#xff0c;对于这种场景只能通过写SQL进行实现&#xff0c;而mybatis-plus-join 则是建立在 mybatis-plus 基础之上的扩展框架&#xff0c;可以在不影响原有能力之上通过简单的API即可实现多表关联能力而无需编…

致远OA wpsAssistServlet任意文件上传漏洞复现 [附POC]

文章目录 致远OA wpsAssistServlet任意文件上传漏洞复现 [附POC]0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现 0x06 修复建议 致远OA wpsAssistServlet任意文件上传漏洞复现 [附POC] 0x01 前言 免责声明&#xff1a;请勿利用…

突破时空局限:数字调度系统引领煤炭行业新纪元

随着社会经济的发展&#xff0c;能源需求不断增加&#xff0c;煤炭作为重要的能源资源&#xff0c;在全球能源结构中扮演着重要角色。然而&#xff0c;煤炭行业面临着许多挑战&#xff0c;包括资源开采的不可回复性、环境污染问题以及安全生产隐患等。在这样的背景下&#xff0…

Android Groovy 迁移到 KTS

文章目录 Groovy 迁移到 KTS概述迁移流程setting.gradleproject/build.gradlemodule/build.gradle处理ext扩展函数依次创建如下目录和文件使用 源码 Groovy 迁移到 KTS 概述 Android Studio是使用Gradle来编译&#xff0c;而默认的构建语言是Groovy&#xff0c;但是Gradle实际…

竞赛选题 深度学习图像风格迁移

文章目录 0 前言1 VGG网络2 风格迁移3 内容损失4 风格损失5 主代码实现6 迁移模型实现7 效果展示8 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 深度学习图像风格迁移 - opencv python 该项目较为新颖&#xff0c;适合作为竞赛课题…

你真的会学习网络安全吗?

我敢说&#xff0c;现在网上90%的文章都没有把网络安全该学的东西讲清楚。 为什么&#xff1f;因为全网更多的都是在讲如何去渗透和公鸡&#xff0c;却没有把网安最注重的防御讲明白。 老话说得好&#xff1a;“攻击&#xff0c;是为了更好的防御。”如果连初衷都忘了&#xff…

Grafana 图表 Table 根据 Key 修改背景颜色

文章目录 前言1. 配置过程1.1 创建 override1.2 Add override property1.3 Value mappings 2. 效果展示 前言 需要配置一个备份任务的 Dashboard 展示备份的状态&#xff0c;如果备份状态是 Completed 表示正常&#xff08;绿色背景&#xff09;&#xff0c;如果是 Error 表示…

LOGO设计工具都有哪些?分享这6款

如果一个品牌想要脱颖而出&#xff0c;它必须有一个令人印象深刻的品牌标志。创建一个专业的标志&#xff0c;设计师不能简单地用刷子手绘&#xff0c;必须使用专业的标志设计软件来制作。 市场上有各种各样的标志设计软件&#xff1a;桌面、在线应用、免费&#xff0c;甚至人…

Kubernetes深度剖析,从基础到高级,带你领略K8s的魅力

一、Kubernetes 是 Google 团队发起并维护的基于 Docker 的开源容器集群管理系统&#xff0c;它不仅支持常见的云平台&#xff0c;而且支持内部数据中心。 建于 Docker 之上的 Kubernetes 可以构建一个容器的调度服务&#xff0c;其目的是让用户透过 Kubernetes 集群来进行云端…

星环科技分布式向量数据库Transwarp Hippo正式发布,拓展大语言模型时间和空间维度

随着企业、机构中非结构化数据应用的日益增多以及AI的爆发式增长所带来的大量生成式数据&#xff0c;所涉及的数据呈现了体量大、格式和存储方式多样、处理速度要求高、潜在价值大等特点。但传统数据平台对这些数据的处理能力较为有限&#xff0c;如使用文件系统、多类不同数据…

0002net程序设计-net家电维修保养信息系统

文章目录 **摘要**目录系统设计开发环境 摘要 家电维修保养信息系统提供给用户一个家电信息管理的网站&#xff0c;最新的家电信息让用户及时了解维修知识,保养方式的同时,还能通过交流区互动更方便。本系统采用了B/S体系的结构&#xff0c;使用了net技术以及SQL SERVER作为后…