【网络安全】URL解析器混淆攻击实现ChatGPT账户接管、Glassdoor服务器XSS

文章目录

    • 通配符+URL解析器混淆攻击实现ChatGPT账户接管
    • 通配符+URL解析器混淆攻击实现Glassdoor服务器缓存XSS

本文不承担任何由于传播、利用本文所发布内容而造成的任何后果及法律责任。

本文将基于ChatGPT及Glassdoor两个实例阐发URL解析器混淆攻击。

开始本文前,推荐阅读:【网络安全】Web缓存欺骗攻击原理及攻防实战


通配符+URL解析器混淆攻击实现ChatGPT账户接管

ChatGPT新增了"分享"功能,该功能允许用户与其他人公开分享聊天内容:

在这里插入图片描述

ChatGPT会生成一个对话链接,用户复制后发送给好友即可:

在这里插入图片描述

然而,存在一现象:ice发送对话链接给A后,A看到了对话内容。ice再与ChatGPT对话,此时A访问对话链接,却看不到新的对话内容。

这个现象可能意味着:原先的对话内容已被缓存,其在缓存条目消失前并不会更新。

对该猜测进行验证:打开网络标签页来检查响应头,看到Cf-Cache-Status: HIT,说明请求的资源在Cloudflare的CDN缓存中已经存在。

通常,只有静态文件(如图片、CSS、JS文件等)会被CDN缓存,但在这个情况中,一个动态内容的生成(即ChatGPT的对话分享)也被缓存,这反映出Cloudflare的缓存机制并不仅限于传统意义上的静态文件,而是可以根据配置规则对各种类型的内容进行缓存。

同时可以看到对话链接URL中并不存在文件扩展名:

在这里插入图片描述

这意味着在处理缓存时,使用的规则并不是基于请求的资源文件的扩展名(如.jpg、.html、.css等)来决定是否对该资源进行缓存。相反,它是根据URL中资源所在的路径位置来决定的。

综上,ChatGPT的缓存规则配置为/share/*,表示所有位于/share/路径下的内容都会被CDN缓存,不管这些内容是什么类型的文件或者是否根本就不是文件(例如动态生成的内容)。

在实施攻击实现ChatGPT账户接管前,先了解一下什么是URL解析器混淆攻击。

由于历史原因和标准实现的差异,不同的解析器对某些特殊字符或编码方式的处理可能会有所不同。使用缓存的网站中,请求必须先经过CDN,然后才到达Web服务器。如果这两者的解析器处理不一致,利用这些差异,通过精心设计的URL来迷惑解析器,使其误解URL的真正意图,即可实现URL解析器混淆攻击。

在此案例中,Cloudflare的CDN并不会对URL进行解码,也并不会规范化URL路径,但Web解析器却会。

当构造https://chat.openai.com/share/%2F..%2Fapi/auth/session?id=ice时,CDN并不会对该URL做任何处理,CDN将URL转发后,Web解析器将其解码并规范化后得到:https://chat.openai.com/share/api/auth/session?id=ice,并生成响应,该响应中含有对ice的session请求。

当这个响应返回给CDN时,ice的session被缓存。这意味着,任何后续对相同URL的请求都将直接由CDN提供响应,即用户A访问https://chat.openai.com/share/%2F..%2Fapi/auth/session?id=ice后即可得到ice的session,进而接管ice的ChatGPT账户。

通配符+URL解析器混淆攻击实现Glassdoor服务器缓存XSS

Glassdoor是一个面向职业人士的在线平台,旨在提供有关公司、工作岗位、薪资、面试经验和员工评价的信息。[以下附图环境为已修复环境]

其Job页面提供了有关职位的详细信息:

在这里插入图片描述

在 https://www.glassdoor.com/Job/?xss 路径下的页面,所有URL参数都会在JavaScript脚本标签内反映。但注入 </script> 到页面时,存在WAF:

在这里插入图片描述

optimizelyEndUserId cookie的值会在页面中反映,位于URL参数之后。故可将负载分割为两部分,通过绕过WAF来执行任意JavaScript,然而这只是个反射型XSS。

要实现危害扩大,可以考虑服务器缓存XSS。

https://www.glassdoor.com/Job和https://www.glassdoor.com/Award/下的页面中打开网络标签页来检查响应头,后者看到Cf-Cache-Status: HIT,说明页面被缓存。

经测试,发现通配符 /…/在缓存服务器上得到规范化,但后端Web应用程序没有规范化。故对于路径https://www.glassdoor.com/Job/../Award/blah?xss=<script>,缓存服务器将其解释为https://www.glassdoor.com/Award/blah?xss=<script>,导致响应被缓存。该过程与上一个案例相似,不再详述。

在后续中,任意用户访问https://www.glassdoor.com/Award/blah?xss=</script>时,XSS将被触发。

经测试,也可在https://www.glassdoor.com/mz-survey/interview/collectQuestions_input.htm/../../../Award/blah的请求包标头和 cookie 中包含 XSS:

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SpringCloud-搭建Nacos服务中心

Nacos 是一个开源的动态服务发现、配置管理和服务管理平台。它支持多种服务发现协议&#xff0c;包括基于 DNS 和 HTTP 的服务发现。Nacos 提供了强大的配置管理和服务发现功能&#xff0c;使得在微服务架构中轻松实现服务注册、发现和配置管理成为可能。在本篇博客中&#xff…

亚信安慧AntDB推动数据库自主可控

亚信安慧AntDB正致力于验证数据库软硬件全自主可控的可行性&#xff0c;并将其应用于运营商核心的交易场景&#xff0c;以替代国外商业解决方案。为了实现这一目标&#xff0c;亚信安慧AntDB的研发团队不断进行技术创新和实践探索。 该数据库以自主研发的技术为基础&#xff0…

在 CentOS 7上使用 Apache 和 mod_wsgi 部署 Django 应用的方法

简介 Django 是一个强大的 Web 框架&#xff0c;可以帮助您快速启动 Python 应用程序或网站。Django 包括一个简化的开发服务器&#xff0c;用于在本地测试代码&#xff0c;但对于任何与生产相关的事情&#xff0c;都需要一个更安全和功能强大的 Web 服务器。 在本指南中&…

GPTs保姆级教程之实践

GPTs什么 使用GPTs的前提&#xff1a;ChatGPT Plus帐号 GTPs的作用&#xff1a;把我们和GPT对话的prompt&#xff0c;封装起来成为一个“黑匣子”。 主要有两个作用&#xff1a; 1、避免反复输入prompt&#xff0c;“黑匣子”打开&#xff0c;输入问题即可使用 2、在别人可以…

爬虫实战--人民网

文章目录 前言发现宝藏 前言 为了巩固所学的知识&#xff0c;作者尝试着开始发布一些学习笔记类的博客&#xff0c;方便日后回顾。当然&#xff0c;如果能帮到一些萌新进行新技术的学习那也是极好的。作者菜菜一枚&#xff0c;文章中如果有记录错误&#xff0c;欢迎读者朋友们…

npm 上传一个自己的应用(3) 在项目中导入及使用自己上传到NPM的工具

上文 npm 上传一个自己的应用(2) 创建一个JavaScript函数 并发布到NPM 我们创建了一个函数 并发上了npm 最后 我们这里 我们可以看到它的安装指令 这里 我们可以打开一个vue项目 终端输入 我们的安装指令 npm i 自己的包 如下代码 npm i grtest我们在 node_modules目录 下…

手拉手Vue3+vite引入echarts

技术栈springboot3hutool-alloshi-coreVue3viteechartsTailwindCSS软件版本IDEAIntelliJ IDEA 2022.2.1JDK17Spring Boot3.1hutool-all5.8.18oshi-core6.4.1Vue35.0.10vite5.0.10axios1.6.7echarts5.4.3 ECharts是一个使用 JavaScript 实现的开源可视化库&#xff0c;可以流畅…

苹果手机如何录屏?这里告诉你答案!

苹果公司的iPhone以其卓越的性能和用户体验受到了全球消费者的喜爱&#xff0c;而录屏功能作为手机的一项重要功能&#xff0c;能够帮助我们记录手机屏幕上的操作&#xff0c;分享游戏技巧、制作教程视频等。本文将为您介绍苹果手机如何录屏&#xff0c;帮助您更好地掌握录屏技…

Could not connect to Redis at 127.0.0.1:6379:由于目标计算机积极拒绝,无法连接...问题解决方法之一

一、问题描述 将Redis压缩包解压后&#xff0c;安装Redis过程中出现问题Could not connect to Redis at 127.0.0.1:6379:由于目标计算机积极拒绝&#xff0c;无法连接... 官网windows下redis开机自启动的指令如下&#xff1a; 1、在redis目录下执行 redis-server --service-in…

【征稿已开启】第五大数据、人工智能与软件工程国际研讨会(ICBASE 2024)

第五大数据、人工智能与软件工程国际研讨会&#xff08;ICBASE 2024&#xff09; 2024 5th International Conference on Big Data & Artificial Intelligence & Software Engineering 2024年09月20-22日 | 中国温州 第五届大数据、人工智能与软件工程国际研讨会&…

电脑虚拟内存怎么设置?1分钟快速增加内存!

“我电脑里的内存好像不太够用&#xff0c;因此&#xff0c;我想在电脑里增加一些虚拟内存。不知道我应该怎么操作呢&#xff1f;有什么比较简单的此操作方法吗&#xff1f;” 虚拟内存是计算机系统内存管理的一种技术&#xff0c;它为程序提供了一个比实际物理内存更大的内存空…

C#用Array类的FindAll方法和List<T>类的Add方法按关键词在数组中检索元素并输出

目录 一、使用的方法 1. Array.FindAll(T[], Predicate) 方法 &#xff08;1&#xff09;定义 &#xff08;2&#xff09;示例 2.List类的常用方法 &#xff08;1&#xff09;List.Add(T) 方法 &#xff08;2&#xff09;List.RemoveAt(Int32) 方法 &#xff08;3&…

C++判断二叉树是否对称

可以使用递归的方式判断二叉树是否对称。判断二叉树是否为空&#xff0c;若为空则返回 true。然后编写一个辅助函数 isSymmetricHelper&#xff0c;该函数接受两个参数&#xff0c;分别是左子树和右子树。在 isSymmetricHelper 函数中&#xff0c;判断左子树的左子树和右子树的…

挑战杯 python+opencv+深度学习实现二维码识别

0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; pythonopencv深度学习实现二维码识别 &#x1f947;学长这里给一个题目综合评分(每项满分5分) 难度系数&#xff1a;3分工作量&#xff1a;3分创新点&#xff1a;3分 该项目较为新颖&…

C++学习Day04之this指针

目录 一、程序及输出1.1 基础使用1.2 *this和链式编程1.2.1 返回引用进行链式编程1.2.2 返回值进行链式编程1.3 注意事项 二、分析与总结 一、程序及输出 在 C 中使用类的成员函数时&#xff0c;可以使用 this 指针来引用当前对象的地址。this 指针是一个隐式参数&#xff0c;它…

基于CNN卷积网络的MNIST手写数字识别matlab仿真,CNN编程实现不使用matlab工具箱

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1 卷积神经网络&#xff08;CNN&#xff09; 4.2 损失函数和优化 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 ......................…

代码随想录 Leetcode47. 全排列 II

题目&#xff1a; 代码(首刷自解 2024年2月6日&#xff09;&#xff1a; class Solution { private:vector<vector<int>> res;vector<int> path; public:void backtracing(vector<int>& nums, vector<bool>& used1, vector<bool>…

leetcode 算法 67.二进制求和(python版)

需求 给你两个二进制字符串 a 和 b &#xff0c;以二进制字符串的形式返回它们的和。 示例 1&#xff1a; 输入:a “11”, b “1” 输出&#xff1a;“100” 示例 2&#xff1a; 输入&#xff1a;a “1010”, b “1011” 输出&#xff1a;“10101” 代码 class Solution…

使用 WPF + Chrome 内核实现高稳定性的在线客服系统复合应用程序

对于在线客服与营销系统&#xff0c;客服端指的是后台提供服务的客服或营销人员&#xff0c;他们使用客服程序在后台观察网站的被访情况&#xff0c;开展营销活动或提供客户服务。在本篇文章中&#xff0c;我将详细介绍如何通过 WPF Chrome 内核的方式实现复合客服端应用程序。…

聚观早报 | 小米14 Ultra官宣;苹果汽车项目调整

聚观早报每日整理最值得关注的行业重点事件&#xff0c;帮助大家及时了解最新行业动态&#xff0c;每日读报&#xff0c;就读聚观365资讯简报。 整理丨Cutie 2月6日消息 小米14 Ultra官宣 苹果汽车项目调整 ROG游戏手机8系列推出福利 一加Ace 3原神刻晴定制机官宣 苹果i…