CORS跨域资源共享漏洞复现——详细利用方法,漏洞危害最大化

news2024/11/25 5:04:53

文章目录

  • 前言
  • 一、漏洞原理以及成因
  • 二、CORS漏洞利用
  • 总结


前言

在很久很久以前,2021年,我写过一篇关于CORS的漏洞文章,CORS跨域资源共享漏洞靶场演示。当时技术水平欠佳,而且文章内容也仅仅是简单过了一遍漏洞的原理和检测方法,对漏洞的利用方式是很片面的。

由于工作原因,自己也对之前的文章少有技术性的实时更新,正巧今天在实战中发现了CORS,但是在跟研发的沟通中,问了我一句:

漏洞的危害你跟我说了那么多,但是具体是怎么利用的,能否给我演示一下呢?黑客如果攻击,是以一种什么样的方式来跨域获得用户的信息?

“身经百战”的我顿时有点迷,因为之前我并没有对CORS这种很少见的漏洞做过实战复现,所以只能让研发等等。

因此,这篇全中国最细的CORS漏洞危害最大化,漏洞如何利用,黑客如果用CORS漏洞进行攻击的复现文章就诞生了。


提示:以下是本篇文章正文内容,下面案例可供参考

一、漏洞原理以及成因

网上太多了,大家能搜到我这篇文章肯定之前也是做过功课的,所以我就不废话那么多,其实就是请求字段的Origin和响应字段Access-Control-Allow-OriginAccess-Control-Allow-Credentials三者之间的关系。
原理性的东西大家可以看看这篇CORS跨域资源共享漏洞靶场演示。

二、CORS漏洞利用

开始真正的实操。
首先我用的是bp的靶场,里面自带cors漏洞的演示环境。
在这里插入图片描述

下面这个就是漏洞的靶场了,就把他当成一个真实的网站,然后开始测试。
有一个My account页面,点击进去是一个登录框。
在这里插入图片描述

靶场给我们的测试账号密码是wiener:peter
在这里插入图片描述

所以直接用这个来登录就好了。
在这里插入图片描述

登录后发现有个API Key的值。其实就是想让我们来模拟攻击者,让受害者点击外部(攻击者)的url链接,我们再把api的值给获取到。
在/accountDetails,发现了CORS的特征。
在这里插入图片描述

接下来,我们受害者的身份就已经模拟完成了。后面的步骤,我们就是以一个攻击者的视角,来把受害者这个信息全部获取到。

bp很贴心,专门给我们准备了一个攻击者的模拟主机。
在这里插入图片描述

所以,我们的钓鱼URL就是下面这个了:
URL: https://exploit-0a8f007d034d33e88041894101460051.exploit-server.net/exploit
在这里插入图片描述

这里还没有正式开始,因为我们的脚步只是显示hello,world!而已。不妨先访问一下试试。

在这里插入图片描述

果不其然,显示hello,world。注意📢,我们访问这个url的时候,其实我们就是受害者,因为什么呢?因为我们在同一浏览器,然后在保持漏洞网站已经登录的情况下,去访问了这个黑客的钓鱼链接。

接下来换回黑客视角,我们来修改我们钓鱼服务器的代码。

CORS漏洞exp:

<script>
    var r = new XMLHttpRequest();
    r.open('get','YOUR-LAB-ID.web-security-academy.net/accountDetails/accountDetails',false);
    r.withCredentials=true; 
    r.send();
    console.log(r.responseText);
    //可以改成alert弹窗更加直观。
</script>

在这里插入图片描述

将exp中get请求的url换成漏洞网站的完整url,如上图所示。然后点击Store保存。
exp代码的意思就是,get请求https://0ab6008d03ff33a980b98abd003300a1.web-security-academy.net/accountDetails,然后responseText,也就是响应的内容显示出来。这里用了req.withCredentials = true; withCredentials就是带缓存的请求,可以理解为让受害者在登录的状态下点击你的这个恶意链接,然后发起代码里的get请求,很nb。

在这里插入图片描述

这样,我们就能把受害者的信息全部获取了。exp只是一个小小的测试,具体代码你们可以自己改,比如可以把响应的内容用js代码远程下载到自己本地就更加真实了。当然了,如果可以让用户执行js,那玩法就更加多样了,可以利用js来上线msf等等。


总结

先补充那么多,后面有时间了再细化一下。

    文章原创,欢迎转载,请注明文章出处: CORS跨域资源共享漏洞复现——详细利用方法,漏洞危害最大化.。百度和各类采集站皆不可信,搜索请谨慎鉴别。技术类文章一般都有时效性,本人习惯不定期对自己的博文进行修正和更新,因此请访问出处以查看本文的最新版本。

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

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

相关文章

芯片设计全流程概述

芯片设计分为前端设计和后端设计&#xff0c;前端设计&#xff08;也称逻辑设计&#xff09;和后端设计&#xff08;也称物理设计&#xff09;并没有统一严格的界限&#xff0c;涉及到与工艺有关的设计就是后端设计。 1、规格制定 芯片规格&#xff0c;也就像功能列表一样&…

详解c++---AVL树的原理和实现

目录标题 搜索二叉树的缺点什么是AVL树平衡因子的变化规律AVL树的旋转准备工作insert函数模拟实现左旋转右旋转右左双旋左右双旋 AVL树的打印AVL的查找AVL树的检查 搜索二叉树的缺点 在上一篇文章的学习种我们知道了什么搜索二叉树&#xff0c;它让比根小的节点都在根的左边&a…

数字孪生水网可视化平台提高企业应急联动指挥水平

随着城市化进程的不断加快&#xff0c;给水管网的建设和维护变得越来越重要。传统的给水管网监测和管理方式通常只能通过文字和图片来进行描述和展示&#xff0c;难以直观地了解管网的结构和运行情况。而3D可视化大屏展示技术的出现&#xff0c;为给水管网的监测管控提供了以下…

可完成城市内涝一维二维耦合模拟的慧天[HTWATER]软件讲解

第一部分&#xff1a;CAD、GIS在水力建模过程中的应用 1.1复杂城市排水管网系统快速建模&#xff1a;通过标准化的步骤&#xff0c;利用CAD数据、GIS数据建立SWMM模型。在建模的不同阶段发挥不同软件的优势&#xff0c;实现高效的数据处理、准确的参数赋值、模型的快速建立。在…

【NPS 】1. 服务器端搭建

一、环境&#xff1a; 二、安装docker docker-compose 三、安装 nps 服务端 1. 在 /mnt/docker/nps 下创建 docker-compose.yaml 文件 2. 安装 nps 四、登录 1. ip:8800登录&#xff0c;默认 账号密码 admin / 123 2. 修改密码 一、环境&#xff1a; 系统 &#xff1a;C…

2023年6月中国数据库排行榜:OceanBase 连续七月踞榜首,华为阿里谋定快动占先机

群雄逐鹿&#xff0c;酣战墨坛。 2023年6月的 墨天轮中国数据库流行度排行 火热出炉&#xff0c;本月共有273个数据库参与排名。本月排行榜前十变动不大&#xff0c;可以用一句话概括为&#xff1a;OTO 组合连续两月开局&#xff0c;传统厂商GBase南大通用乘势而上&#xff0c;…

将深度学习与传统计算机视觉进行比较

原创 | 文 BFT机器人 深度学习 (DL) 在数字图像处理中用于解决难题&#xff08;例如&#xff0c;图像着色、分类、分割和检测&#xff09;。卷积神经网络 (CNN) 等深度学习方法通过使用大数据和丰富的计算资源提高预测性能&#xff0c;突破了可能性的界限。 深度学习是机器学习…

学习一年Java的程序员的C++学习记录(指针引用绕晕记)

文章目录 一 C入门二 变量和数据类型三 运算符四 流程控制五 复合数据类型六 函数七 函数高阶八 面向对象 一 C入门 标准输出流中 cout 是一个ostream对象&#xff0c;<< 和 >>是C中经过重载的运算符&#xff0c;配合cout和cin使用时表示流运算符。C中是如何重载运…

苹果头显Vision Pro深度解读1 下一个十年计算机行业的标杆

1 苹果Vision Pro是下一个十年计算机行业的标杆。 今天主要给大家说下今年WWDC发布的vision pro&#xff0c;以及后面很多期给大家做一些vision pro背后大量的技术的分享。我这次是从头到位把苹果官网上所有的文档&#xff0c;视频&#xff0c;全部学习了一遍。好几十个视频文…

Stable Diffusion web UI之X/Y/Z plot使用

一、安装环境配置 PASS CFG Scale配置的越高&#xff0c;SD生成的图会更贴用户提供的prompt来进行生成&#xff0c;AI的自由度会下降&#xff0c;生成人物的时候特别需要注意&#xff0c;对于手脚脸部&#xff0c;过高的值更容易造成过拟合还有画面崩坏。 二、X/Y/Z plot 使用…

民间最大的社区,倒闭了

看到一则不起眼的消息&#xff1a;天涯社区已经无法打开。 时代抛弃你的时候&#xff0c;都不说一声再见&#xff0c;现实就是这样残酷。 记得我读大学的时候&#xff0c;天涯社区是国内互联网行业中最具影响力的论坛之一&#xff0c;号称 " 全球华人网上家园 “。 当年&a…

Maven配置仓库

目录 Maven仓库介绍 Maven配置本地仓库 Maven配置中央仓库 Maven配置远程仓库 配置jdk Maven仓库介绍 当使用 Maven 构建项目时&#xff0c;有三种仓库起着重要作用&#xff1a; 本地仓库&#xff1a;就像你自己的书库。当你使用 Maven 下载依赖项时&#xff0c;它们会被…

某企业《IT治理管理办法》共十个章节,五十九条管理要求,适用于集团级企业、大型企业、中型企业

第二条&#xff1a;IT治理是规范公司各部门在公司IT系统建设、IT 应用中的责任与权力分配&#xff0c;主要包括原则、IT架构、基础设施、IT应用、IT投入等方面&#xff0c;明确责任人以及决策权力人&#xff0c;以提升工作效率&#xff0c;提高决策的科学性和合理性。 总则的第…

HarmonyOS元服务端云一体化开发快速入门(下)

四、关联云开发资源 为工程关联云开发所需的资源&#xff0c;即在DevEco Studio中选择您的华为开发者帐号加入的开发者团队&#xff0c;将该团队在AGC的同包名应用关联到当前工程。具体操作如下&#xff1a; 1.&#xff08;可选&#xff09;如您尚未登录DevEco Studio&#xf…

深入理解ASEMI代理光宝LTV-152光耦的特性与应用

编辑-Z 光耦LTV-152是一种广泛应用于电子设备中的光电器件&#xff0c;它的主要功能是实现电路之间的隔离和信号传输。本文将深入探讨光耦LTV-152的特性和应用&#xff0c;帮助读者更好地理解和使用这种重要的电子元件。 一、光耦LTV-152的特性 1. 高隔离电压&#xff1a;光耦…

日撸java三百行day63-65

文章目录 说明1. Day63-65 AdaBoosting算法1 AdaBoostin举例1.1数据样本1.2 举例过程 2. 理论知识3. 总结 2. 代码理解1. WeightedInstances类2. 选择基分类器并进行训练&#xff08;树桩分类器&#xff09;3. 计算误差率和误差系数&#xff08;树桩分类器&#xff09;4. 计算精…

谈谈Java高并发网站的设计思路

目前Java都在流行一个说词&#xff1a;高并发。 反正不管是不是&#xff0c;反正就是高并发。 谈高并发&#xff0c;我们需要知道几个名词&#xff1a; -响应时间(Response Time&#xff0c;RT)-吞吐量(Throughput)-每秒查询率QPS(Query Per Second)-每秒事务处理量TPS(Transa…

用单元测试读懂 vue3 中的 defineComponen

目录 前言&#xff1a; I. 测试用例 II. 一些基础类型定义 III. 官网文档中的 props V. 开发实践 VI. 全文总结 前言&#xff1a; Vue3是一种流行的JavaScript框架&#xff0c;它在组件开发方面提供了更多的表现力和灵活性&#xff0c;通过使用defineComponent高阶函数&…

腾讯安全联动头部企业携手验证“数字安全免疫力”模型框架

6月13日&#xff0c;腾讯安全联合IDC发布“数字安全免疫力”模型框架及《加强企业数字安全免疫力&#xff0c;助力数字时代下的韧性发展》白皮书&#xff0c;提出用免疫的思维应对新时期下安全建设与企业发展难以协同的挑战&#xff0c;围绕“数据”和“数字业务”建立三层由内…

视觉SLAM十四讲——ch8实践(视觉里程计2)

视觉SLAM十四讲----ch8的实践操作及避坑 0.实践前小知识介绍1. 实践操作前的准备工作2. 实践过程2.1 LK光流2.2 直接法 3. 遇到的问题及解决办法3.1 编译时遇到的问题 0.实践前小知识介绍 里程计的历史渊源是什么&#xff1f; 里程计是一种用来测量车辆或机器人行驶距离的装置…