从spring boot泄露到接管云服务器平台
0x1前言
在打野的时候意外发现了一个站点存在spring boot信息泄露,之前就有看到一些文章可以直接rce啥的,今天刚好试试。通过敏感信息发现存在accesskey泄露,就想直接通过解密,获取敏感信息,接管云平台。


首先说下这个漏洞的产生。主要是因为程序员开发时没有意识到暴露路由可能会造成安全风险,或者没有按照标准流程开发,忘记上线时需要修改/切换生产环境的配置。我们是可以通过访问/v2/api-docs和/swagger-ui.html去验证是否存在的。
0x2漏洞利用
本次我们想获取/actuator/env里面的明文信息,那么有三种方法可以获取。
第一种:通过/jolokia接口获取明文
利用条件:
-
1. 目标网站存在 /jolokia 或 /actuator/jolokia 接口
-
2. 目标使用了 jolokia-core 依赖(版本要求暂未知)
第二种:通过/env接口发送明文到你vps上
-
1. 可以 GET 请求目标网站的 /env
-
2. 可以 POST 请求目标网站的 /env
-
3. 可以 POST 请求目标网站的 /refresh 接口刷新配置(存在 spring-boot-starter-actuator依赖)
-
4. 目标使用了 spring-cloud-starter-netflix-eureka-client 依赖
-
5. 目标可以请求攻击者的服务器(请求可出外网)
第三种:和第二种差不多,只是方式不一样
-
1. 通过 POST /env 设置属性触发目标对外网指定地址发起任意 http 请求
-
2. 目标可以请求攻击者的服务器(请求可出外网)
第四种:通过/heapdump下载到本地解密
1、可正常 GET 请求目标 /heapdump 或 /actuator/heapdump 接口
而我这边采用第四种方法去获取。先下载一个heapdump文件。

其实我看了好多篇文章,使用jvisualvm.exe尝试去解开heapdump,但是都无法正常获取,可能也是我操作有问题,后续使用Eclipse Memory Analyzer,完美解决。

使用Eclipse Memory Analyzer去查询对应的字段:
select * from java.util.LinkedHashMap $Entry x WHERE (toString(x.key).contains("accessKeySecret"))
注意:这边默认是不支持模糊查询的,必须字段完全匹配才能查询到字段。如仅输入accessKey是查询不到accessKeySecret的字段值的。
0x3接管云平台
成功获取accessKeySecret和accessKeyId后,接下来我们就可以使用cf进行接管云平台了。
链接:https://github.com/teamssix/cf
使用cf config配置accessKeySecret和accessKeyId:

配置完直接一键接管:cf alibaba console

这边会生成地址和账号密码,拿去登录即可获取云平台账号权限:

这边可以看到,他是有5台服务器实例的,直接获取5台服务器权限。
0x4结尾
其实我之前不只尝试了第四种,而是被迫使用第四种方式获取明文信息。尝试前面三种,都是以500报错结束,具体也不知道是什么原因,有大佬知道的可以教一下。

本文其实只是想让大家了解一下一些漏洞和一些信息泄露的用法,其实很多东西都是没有含金量的,说破不值钱。自己最近接触了很多刚开始学习安全的人,都不知道从何入手。对于刚刚开始学习的人,个人建议可以多看看漏洞原理和别人的文章,从中吸取经验和渗透思路,很多实力其实都是经验累积出来的。可能有时候看到别人文章,会觉得就是一帆风顺的,很简单,但是其实很多人只是没把自己走了多少弯路,踩了多少坑说出来罢了。本人也只是刚开始摸索的小白,本身学习是学无止境的,纯靠兴趣去驱动。
本文参考:https://github.com/LandGrey/SpringBootVulExploit
相关文章:
从spring boot泄露到接管云服务器平台
0x1前言 在打野的时候意外发现了一个站点存在spring boot信息泄露,之前就有看到一些文章可以直接rce啥的,今天刚好试试。通过敏感信息发现存在accesskey泄露,就想直接通过解密,获取敏感信息,接管云平台。 首先说下这个…...
大数据技术——spark集群搭建
目录 spark概述 spark集群搭建 1.Spark安装 2.环境变量配置 3.Spark集群配置 4.启动Spark集群 存在问题及解决方案 请参考以下文章 spark概述 Spark是一个开源的大数据处理框架,它可以在分布式计算集群上进行高效的数据处理和分析。Spark的特点是速度快、易…...
嵌入式学习笔记汇总
本文整理STM32、STM8和uCOS-III的所有文章链接。 STM32学习笔记目录 源码:mySTM32-learn STM32学习笔记(1)——LED和蜂鸣器 STM32学习笔记(2)——按键输入实验 STM32学习笔记(3)——时钟系统 …...
Python 全栈系列220 Tornado的服务搭建
说明 想法变的真快 本来是没打算用Tornado的,主要是想节约时间。但是现在看来不用还是不行:目前用gevent flask部署的时候,启动多核的worker似乎存在问题。 另外,有很多内部基础的数据服务,其实并不需要flask的各种组…...
ESXi安装CentOS
ESXi安装 参考:https://blog.csdn.net/tongxin_tongmeng/article/details/129466704 CentOS安装 镜像:http://mirrors.aliyun.com/centos/7/isos/x86_64-->CentOS-7-x86_64-DVD-2009.iso CentOS配置 FinalShell连接 ESXi简介 1.ESXi是由VMware公司…...
WebTest搭建
0.前言 此框架为真实项目实战,所以有些数据不便展示,只展示架构和思想 工具:pythonseleniumddtunittest 1.架构说明 2.代码封装 Commom层 base_page.py #__author__19044168 #date2021/8/26 import logging import datetime from sele…...
什么性格的人适合报考机械类专业?(高考志愿填报选专业)
机械类专业 是指涉及机械设计、制造、加工、维护等方面的专业,是工程类专业中的一类。机械类专业的学生主要学习机械工程的基础知识,包括机械设计、力学、材料力学、热力学、流体力学等,同时也会学习机械制造、机电一体化、机器人技术等实践性…...
进程概念详解
目录 进程是什么? 描述进程:进程控制块-PCB task_struct task_struct 是什么? task_struct内容分类 组织进程 查看进程 fork创建子进程 进程状态 僵尸进程 孤儿进程 进程优先级 其他概念 进程是什么? 一般书上…...
C语言基础——指针
文章目录一、指针1.指针的意义2.指针类型表示3.一些操作3.1打印1个变量地址3.2通过地址查看改地址的内容以及修改改地址的内容3.3操作某个空间 -- 4个字节,给他赋值为100,只知道该空间的地址0x8000 00004.指针变量的定义5.指针类型的大小6.指针变量的使用6.1 指针变…...
反序列化渗透与攻防(二)之Java反序列化漏洞
Java反序列化漏洞 反序列化漏洞 JAVA反序列化漏洞到底是如何产生的? 1、由于很多站点或者RMI仓库等接口处存在java的反序列化功能,于是攻击者可以通过构造特定的恶意对象序列化后的流,让目标反序列化,从而达到自己的恶意预期行为,包括命令执行,甚至 getshell 等等。 …...
优先级队列的模拟实现(仿函数)
目录: 1.priority_queue接口的实现(先建大堆) 1.push 加 向上调整的实现 2.pop 3.迭代器区间的构造 2.仿函数 3.仿函数优化我们的优先级队列 -------------------------------------------------------------------------------------------…...
Python pandas和numpy用法参考(转)
以下是转载:Python pandas用法 - 简书介绍 在Python中,pandas是基于NumPy数组构建的,使数据预处理、清洗、分析工作变得更快更简单。pandas是专门为处理表格和混杂数据设计的,而NumPy更适合处...https://www.jianshu.com/p/840ba1…...
mysql数据库的在线数据备份与数据恢复
MySQL是一种常用的关系型数据库管理系统,它支持在线备份和恢复数据。在线备份指的是在MySQL数据库运行时备份数据,而不会中断或影响现有的数据库服务。在本文中,我们将介绍MySQL数据库的在线数据备份和恢复的原理和操作步骤。 一、备份原理 …...
Vue3自定义指令之前端水印功能实现
一、前置知识 — Vue 中的自定义指令 先来说说 vue2和vue3中自定义全局指令的区别 相同点:指令的应用场景,原理是一致的; 不同点:生命周期钩子函数名,指令定义的格式不一样。 vue2中自定义全局指令: 定义…...
文章生成器写出来的原创文章
文章生成机器人 文章生成机器人是一种基于人工智能技术和自然语言处理算法的程序,可以自动地生成高质量、原创的文章。 文章生成机器人的优点如下: 提高工作效率:文章生成机器人能够在较短的时间内自动帮助用户生成大量的文章,提…...
2023年全国最新高校辅导员精选真题及答案49
百分百题库提供高校辅导员考试试题、辅导员考试预测题、高校辅导员考试真题、辅导员证考试题库等,提供在线做题刷题,在线模拟考试,助你考试轻松过关。 76.气质就是我们平常所说的脾气秉性。 答案:正确 77.社会心理通常是通过社会…...
【STL十】关联容器——set容器、multiset容器
【STL十】关联容器——set容器、multiset容器一、set简介二、头文件三、模板类四、set的内部结构五、成员函数1、迭代器2、元素访问3、容量4、修改操作~~5、操作~~5、查找6、查看操作六、demo1、查找find2、修改操作insert3、修改操作erase、clear七、multisetset和multiset会根…...
什么是Node.js
文章目录什么是Node.js简介常用命令Node内置模块Node.js和JavaScript的区别什么是Node.js 简介 Node.js是一个基于Chrome V8引擎的JavaScript运行环境。它允许开发者使用JavaScript编写服务器端代码,而不仅仅是浏览器端的代码。Node.js的出现使得JavaScript可以在…...
比GPT-4 Office还炸裂,阿里版GPT全家桶来袭
疯狂3月的那一天,一切还历历在目。 微软突然在发布会上放出大招,用Microsoft 365 Copilot掀起了办公软件革命。 而今天,阿里也放出一枚重磅炸弹——阿里版的Copilot也要来了! 并且比微软更彻底的是,阿里全系产品也都…...
mysql 建表约束
主键约束 -- 主键约束 -- 使某个字段不重复且不得为空,确保表内所有数据的唯一性。 CREATE TABLE user (id INT PRIMARY KEY,name VARCHAR(20) );-- 联合主键 -- 联合主键中的每个字段都不能为空,并且加起来不能和已设置的联合主键重复。 CREATE TABLE …...
开源AI新选择:Ollama部署Llama-3.2-3B,性能实测与体验
开源AI新选择:Ollama部署Llama-3.2-3B,性能实测与体验 1. 模型介绍与技术背景 1.1 Llama-3.2-3B模型概述 Llama-3.2-3B是Meta公司推出的开源大型语言模型系列中的一员,作为3B参数规模的版本,它在保持轻量级的同时提供了出色的文…...
终极Vorpal错误恢复指南:7个关键策略构建健壮CLI应用
终极Vorpal错误恢复指南:7个关键策略构建健壮CLI应用 【免费下载链接】vorpal Nodes framework for interactive CLIs 项目地址: https://gitcode.com/gh_mirrors/vo/vorpal Vorpal是Node.js生态系统中构建交互式命令行应用的首选框架,提供了强大…...
二进制魔法:解密Windows平台消息防撤回的底层实现
二进制魔法:解密Windows平台消息防撤回的底层实现 【免费下载链接】RevokeMsgPatcher :trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁(我已经看到了,撤回也没用了) 项目地址: https://gitcode.com/Gi…...
ABAQUS UMAT子程序实现应变梯度塑性理论模拟损伤和断裂的分析 (包含的文件如图所示,p...
ABAQUS UMAT子程序实现应变梯度塑性理论模拟损伤和断裂的分析 (包含的文件如图所示,pdf详细介绍子程序的内容,公式等)在金属材料的断裂分析中,传统本构模型经常遇到网格敏感性问题。五年前我第一次尝试用应变梯度理论解决这个问题时ÿ…...
避坑指南:OpenClaw对接nanobot镜像的3大常见错误与解决方法
避坑指南:OpenClaw对接nanobot镜像的3大常见错误与解决方法 1. 为什么需要这份避坑指南? 上周我在本地部署nanobot镜像时,原本以为半小时就能搞定的事情,硬是折腾了整整一个下午。这个超轻量级的OpenClaw镜像确实很吸引人——内…...
STM32F103红外循迹避障小车实战:从Proteus仿真到实物调试全解析
1. STM32F103与红外循迹避障小车入门指南 第一次接触STM32F103做红外循迹避障小车时,我和很多初学者一样,以为照着网上的例程就能轻松搞定。但真正动手后发现,从仿真到实物调试的每个环节都可能遇到意想不到的问题。这个小车看似简单…...
DW_apb_uart初始化全流程解析:从时钟门控到中断配置的15个关键步骤
DW_apb_uart深度初始化指南:从寄存器配置到中断优化的15个实战要点 在嵌入式系统开发中,UART通信作为最基础却又最关键的接口之一,其稳定性和性能直接影响整个系统的可靠性。DW_apb_uart作为业界广泛使用的高性能UART IP核,其初始…...
别再折腾环境变量了!WIN10下搞定Modelsim 10.5许可证的终极保姆级教程
WIN10下Modelsim 10.5许可证配置的终极解决方案 如果你正在为Modelsim 10.5在WIN10系统下的许可证问题而头疼,尝试了各种破解方法却依然无果,那么这篇文章就是为你准备的。作为一名长期与EDA工具打交道的工程师,我深知许可证配置不当带来的挫…...
Gonon无数字时钟:打破传统计时,开启几何编码新时代
【导语:2026年,Tony Gaeta团队推出Gonon无数字时钟,摒弃文化预设,用几何图形计时。它突破传统,解决布局难题,为时间显示带来新方向,有望革新计时领域。】时钟本质与时间层次剖析要打造创新时钟&…...
薛定谔共价对接实战:如何为你的靶点蛋白快速找到‘锁死’它的共价抑制剂?
薛定谔共价对接实战:靶点蛋白的共价抑制剂高效筛选策略 药物研发领域正经历一场静默革命——共价抑制剂从曾经的"危险分子"摇身变为现代药物设计的明星。与传统可逆抑制剂不同,共价抑制剂能与靶点蛋白形成稳定的共价键,实现近乎不可…...
