缓存配置错误导致授权绕过

news2024/11/15 16:23:08

一个电子商务网站它有 2 个资产
target.com   admin.target.com

target.com是面向用户的门户,用户可以去那里购买物品。admin.target.com基本上是卖家的管理门户,卖家可以在其中列出他们的物品,跟踪订单、客户信息等。

我通常使用 Autorize 进行测试,如果权限较低的用户能够访问管理端点,Autorize 将把它标记为“已绕过”。

图片

通过将普通用户 cookietarget.com放入 Autorize,我用它admin.target.com来检查普通用户是否可以访问管理端点,在我的测试期间发生了一些不寻常的事情,每次我访问端点时:https://admin.target.com/orders,正在进行以下 GraphQL 请求。

POST /graphql
主机:admin.target.com 

{“operationName”:“GetOrders”,“variables”:“shop_id”:“X”},“query”:“query X”}

响应包含我店铺的所有订单信息,然而奇怪的是,Autorize 将端点标记为“绕过”,这意味着即使是普通用户也能够发出此请求并访问我的商店的订单信息。

但是,当我将该请求发送到中继器并尝试使用用户 cookie 发出请求时,出现了错误。

图片

授权表示绕过,中继器表示禁止,我认为这是授权中的一个故障,因此继续进行。在我测试该程序的整个一周时间里,这种情况一直在发生。Autorize 一直显示GetOrders端点为“已绕过”,但是当我将请求发送到中继器并测试时,它给了我错误403 forbidden。此时,我确信这不是 Autorize 的问题,我只是忽略了一些东西。然后我明白了Autorize 和 Repeater 之间的唯一区别是时间间隔,虽然他们都有相同的 cookie/token。Autorize 立即呼叫管理端点。而我从中继器发出请求则需要一些时间。为了验证我的理论:GetOrders我使用管理员令牌向端点发出了请求。

POST /graphql
主机:admin.target.com
身份验证:Bearer admin 

{“operationName”:“GetOrders”,“variables”:“shop_id”:“X”},“query”:“query X”}

然后立即使用用户令牌发出相同的请求。

POST /graphql
主机:admin.target.com
身份验证:持有者用户

{ “operationName”:“GetOrders”,“variables”:{ “shop_id”:“X” },“query”:“query X” }

我能够获得该商店的所有订单信息,包括客户详细信息。因此,如果攻击者在普通商店管理员使用其管理门户时同时发出请求,攻击者只需使用即可获取属于任何商店的所有订单/客户信息shop_id一个可公开访问的 ID。

创建一个简单的 bash 脚本,该脚本将GetOrders全天向端点发出持续请求每当管理员访问他们的门户时,订单/客户信息就会被缓存 3/4 秒的窗口,从而允许攻击者获取这些信息并绕过所有访问控制限制。

图片

同时我admin.target.com以 adminUser 身份登录并正常访问admin.target.com/orders代表管理员在后台发出了graphql 请求,GetOrders该请求可缓存 3/4 秒。缓存的响应最终被一分钟前出现 403 错误的同一个入侵者获取。

图片

更多网络安全优质免费学习资料与干货教程加

送渗透工具、技术文档、书籍,面试题、视频(基础到进阶。环境搭建,HTML,PHP,MySQL基础学习,信息收集,SQL注入,XSS,CSRF,暴力破解等等)、应急响应笔记、学习路线。

申明:本账号所分享内容仅用于网络安全技术讨论,切勿用于违法途径,所有渗透都需获取授权,违者后果自行承担,与本号及作者无关,请谨记守法。

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

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

相关文章

国产光耦合器的应用优势

国产光耦合器在近年来的技术发展中表现出了显著的应用优势,尤其是在电子和电力系统中。光耦合器作为一种广泛应用的电子元件,主要用于实现信号隔离、噪声抑制和电压转换等功能。随着国产品牌的不断崛起,国产光耦合器在性能、性价比以及供应链…

基于yolov8的8种人脸表情检测系统python源码+onnx模型+评估指标曲线+精美GUI界面

【算法介绍】 基于YOLOv8的人脸表情检测系统是一个结合了先进目标检测算法(YOLOv8)与深度学习技术的项目,旨在实时或离线地识别并分类人脸表情(如快乐、悲伤、愤怒、惊讶、恐惧、厌恶、中立等)。以下是一个简短的介绍…

四通道非洲猪瘟检测仪

四通道非洲猪瘟检测仪具有以下功能优势: 高效性能:四通道设计使得可以同时检测多个样本,大大提高了检测效率。这对于大规模养猪场或集中屠宰场来说尤为重要,可以快速筛查出可能感染非洲猪瘟的猪只。 高准确性:四通道检…

纯原生-如何在不破解情况下使用Android监听支付宝微信收款消息

具体思路: 首先支付宝微信收款均有到账通知,这是其app自带属性,也是为了提醒用户; 然后再规则范围内如何合理利用,在这里我们不说使用xposed这些工具,仅使用手机原生功能如何来做; 思路: 1、新建…

Python进阶06-Web服务器

零、文章目录 Python进阶06-Web服务器 1、HTTP协议 HTTP协议相关请参考HTTP协议详解网络相关内容请参考计算机网络详解 (1)HTTP协议 HTTP 协议的全称是(HyperText Transfer Protocol),翻译过来就是超文本传输协议。超文本是超级文本的缩…

图为科技闪耀双展,AI之星智领未来

图为科技同期闪耀2024AGIC深圳(国际)通用人工智能大会与深圳国际电子展,晋升AI领域新星。 人工智能爆炸时代,每一场科技盛会的召开都预示着行业的新风向与无限可能。 作为边缘计算与人工智能领域的佼佼者,图为科技携带前沿技术与创新产品&a…

UI自动化测试 —— 下拉选择框弹出框滚动条操作实践!

前言 UI测试,也称为用户界面测试,是一种测试类型,旨在检查应用程序的界面是否工作正常,以及是否存在任何妨碍用户行为且不符合书面规格的BUG。UI自动化测试则是利用自动化工具来执行这些测试,以提高测试效率和准确性.…

【ubuntu使用笔记】使用timeshift备份ubuntu系统

使用timeshift备份ubuntu系统 安装timeshift sudo apt install timeshift建立备份点 sudo timeshift --create --comments "fist" --tags D查看备份点 sudo timeshift --list参考 三种Ubuntu系统全盘备份与恢复方法—tar、timeshift、systemback

linux访问github网速太慢 the remote end hung up unexpectedly问题

linux访问github网速太慢 the remote end hung up unexpectedly问题 pip install githttps://github.com/zhanghang1989/PyTorch-Encoding/时遇到fatal: the remote end hung up unexpectedly 原因 linux访问github网速太慢 措施: 确定ip: https://link.…

CRM 客户管理系统哪个好用?本篇盘点给你答案!

本文将盘点15款CRM客户管理系统,为企业选型提供参考 。 CRM 客户管理系统哪个好用?这是众多企业在发展过程中常常思考的问题。 CRM 客户管理系统就如同企业的得力助手,能把企业的客户资源管理得井井有条。对于企业来说,如果没有一…

【Mybatis】Mybatis-Plus 高级

1、关于插件 1.1、插件机制 MyBatis 允许你在已映射语句执⾏过程中的某⼀点进⾏拦截调⽤。默认情况下,MyBatis 允许使⽤插件来拦截的⽅法调⽤包括: Executor (update, query, flushStatements, commit, rollback, getTransaction, close, isClosed)Par…

vTESTstudio系列12--vTESTstudio中的动态函数库介绍2

在上期的文章(vTESTstudio系列11--vTESTstudio中的动态函数库介绍1)中,我们详细介绍了osek_tp.dll的接口,本章开始给大家介绍如何通过osek_tp.dll的接口去发送诊断指令,Let‘s Go!!! 目录 1. CanTp发送数据的函数&am…

插件千兆网络变压器72PIN应用图片和设计H87202D

华强盛电子导读:前面199中间2643后面0038 千兆4口网络变压器是一种常用于网络通信领域的电子元件,它可以将高频率的信号进行隔离和滤波,保护网络设备免受电磁干扰,同时也能确保信号的稳定传输。这种网络变压器通常具有多个端口&am…

使用tyarn下载依赖出现: 无法加载文件 D:\environment_software\nvm_node\tyarn.ps1,因为在此系统上禁止运行脚本。

使用tyarn下载依赖时出现: 无法加载文件 D:\environment_software\nvm_node\tyarn.ps1,因为在此系统上禁止运行脚本。 表示window不能执行ps1文件,可以通过设置命令运行执行ps1文件(PowerShell)。输入命令查看配置&am…

程序设计—智慧城市应急物资配送系统开发—车辆调度 项目源码36262

摘 要 在智慧城市建设的浪潮中,应急物资配送系统的车辆调度模块扮演着举足轻重的角色。该模块通过集成先进的信息技术和管理理念,实现了对配送地区、前置仓、车辆资源以及调度信息的全面管理和优化,从而确保在紧急情况下能够迅速、准确地将应…

自动生成文章的软件,提高你写文章的效率

对于每个写作人员而言,如果在写作中有一个工具可以协助提高工作效率,想必大家是都乐意接受的,那么今天小编就在本文中为大家分享一个好用的自动生成文章的软件,它可以在大家没有写作灵感时用来自动生成文章用,同时也可…

JVM中篇:字节码与类的加载篇-04-再谈类的加载器

笔记来源:尚硅谷JVM全套教程,百万播放,全网巅峰(宋红康详解java虚拟机) 文章目录 1. 概述1.1. 大厂面试题1.2. 类加载器的分类1.3. 类加载器的必要性1.4. 命名空间1.5. 类加载机制的基本特征1.6. 类加载器之间的关系 2…

视频结构化从入门到精通——图像算法类型介绍

视频结构化主要图像算法 1 认识“数组、矩阵和张量” 1.1 什么是维度 在图像算法中,“维度”这个概念非常重要,它描述了数据的结构和形状。在不同的上下文中,维度可能有不同的含义,但总体来说,它们都与数据的排列方式…

【已解决】git@github.com: Permission denied (publickey).处理git 无权限访问问题

解决思路 分析 gitgithub.com: Permission denied (publickey). fatal: Could not read from remote repository. 意译:权限拒绝(公开密钥),后果:无法读远程仓库。 人话:GitHub设置里面的公钥没有配置或者…

关于武汉芯景科技有限公司的实时时钟芯片XJ8339开发指南(兼容DS1339)

一、芯片引脚介绍 1.芯片引脚 2.引脚描述 二、系统结构图 三、功能描述 1.时钟功能 2.闹钟功能(两个闹钟) 3.振荡器停止控制 4.频率输出(1HZ、1.096KHZ、8.192KHZ、32.768KHZ) 5.振荡器停止检测 6.闹钟中断标志 7.涓流充电…