当前位置: 首页 > news >正文

HTB Eureka靶机渗透实战 - Spring Boot堆转储与Bash算术注入漏洞利用

侦察

Nmap扫描发现三个开放端口:

  • SSH (22)
  • HTTP (80) - 重定向到furni.htb
  • HTTP (8761) - 需要基本认证

网站分析 - TCP 80

家具商店网站,技术栈为Spring Boot框架。通过feroxbuster目录扫描发现暴露的Actuator端点,特别是/actuator/heapdump堆转储端点。

获取oscar190用户Shell

堆转储分析

下载堆转储文件并使用多种工具分析:

  • VisualVM:图形化分析堆转储
  • JDumpSpider:自动化提取敏感信息

发现关键凭证:

  • 数据库连接字符串:jdbc:mysql://localhost:3306/Furni_WebApp_DB§{password=0sc@r190_S0l!dP@sswd, user=oscar190}
  • Eureka服务认证:http://EurekaSrvr:0scarPWDisTheB3st@localhost:8761/eureka/

SSH访问

使用发现的凭证成功SSH登录:

ssh oscar190@furni.htb
密码:0sc@r190_S0l!dP@sswd

获取miranda-wise用户Shell

系统枚举

发现多个Spring Boot应用:

  • cloud-gateway [TCP 8080]
  • User Management [TCP 8081]
  • Furni website [TCP 8082]
  • Eureka server [TCP 8761]

Spring Cloud Gateway劫持

利用Eureka服务注册机制:

  1. 注册恶意USER-MANAGEMENT-SERVICE实例指向攻击者IP
  2. 删除合法服务实例
  3. 拦截miranda-wise的登录请求

捕获到凭证:IL!veT0Be&BeT0L0ve

SSH访问miranda-wise

ssh miranda-wise@furni.htb
密码:IL!veT0Be&BeT0L0ve

获取root权限

漏洞分析

发现定时任务执行的/opt/log_analyse.sh脚本存在Bash算术注入漏洞:

analyze_http_statuses() {while IFS= read -r line; docode=$(echo "$line" | grep -oP 'Status: \K.*')# 漏洞:code变量直接用于算术比较if [[ "$existing_code" -eq "$code" ]]; then# ...fidone
}

漏洞利用

利用Bash算术表达式注入:

echo 'HTTP Status: x[$(cp /bin/bash /tmp/0xdf; chmod 6777 /tmp/0xdf)]' > application.log

创建SUID bash后门并获取root shell:

/tmp/0xdf -p

总结

本渗透测试展示了Spring Boot应用安全配置不当导致的完整攻击链:从堆转储信息泄露到服务注册劫持,最终通过脚本漏洞实现权限提升。
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)

公众号二维码

公众号二维码

http://www.hskmm.com/?act=detail&tid=25264

相关文章:

  • 手机照片太多了存哪里? - 实践
  • 时隔十六年的南京之旅
  • 高贵的北上广深,没有父母托举,90后很难成家
  • 使用AI图像服务规模化视觉内容生产
  • 实用指南:基于贝叶斯优化神经网络的光伏功率预测综述
  • 详细介绍:ROS2与Unitree机器人集成指南
  • 布尔类型
  • 安装iTrustSSL证书 去除此网站不支持安全连接提示
  • 2025钻机厂家最新推荐榜:岩芯钻机,勘探钻机,地质钻机,取样钻机,空气反循环钻机公司推荐
  • 在AI技术快速实现创意的时代,挖掘游戏开发框架新需求成为关键
  • iNaturalist开放自然数据与计算机视觉挑战
  • macOS 编辑字幕
  • reLeetCode 热题 100- 438. 找到字符串中所有字母异位词 - MKT
  • Flutter 251006
  • [MCP] Register Prompt
  • [Node.js] Server-Sent Events
  • day1 Gitlab Runner 学习
  • Software Foundations Vol.I : 使用结构化的数据(Lists)
  • Software Foundations Vol.I : 归纳证明(Induction)
  • Software Foundations Vol.I : Coq函数式编程(Basics)
  • Python 在自然语言处理中的应用与发展
  • Python 在网络爬虫与数据采集中的应用
  • 15_spring_data_neo4j简单教程
  • CF2152G Query Jungle(线段树,重链剖分,*)
  • 代码随想录算法训练营第九天 | leetcode 151 卡特55
  • [题解] 分竹子
  • 分数规划
  • CSS - transition 粗浅记忆
  • 【MC】LittleTiles模组结构数据解析和版本迁移方案
  • 容器魔方导致盒子满了