您当前的位置:首页 > 电脑百科 > 安全防护 > 漏洞

记一次springboot项目漏洞挖掘

时间:2023-05-08 12:30:52  来源:  作者:合天网安实验室

前言

前段时间的比赛将该cms作为了题目考察,这个cms的洞也被大佬们吃的差不多了,自己也就借此机会来浅浅测试下这个cms残余漏洞,并记录下这一整个流程,谨以此记给小白师傅们分享下思路,有错误的地方还望大佬们请以指正。

安装

参考官方文档,给出了很详细的安装说明,如安装遇到问题,可到官方论坛寻找解决方法,常见安装失败问题都有。

该cms项目是基于springboot框架开发的,安装的时候需要的环境为 springboot+redis+MySQL+ IDEA

配置文件主要是这两个Application-prd.yml和application-dev.yml,需要配置好mysql数据库连接、redis连接以及网页静态资源路径,其余的安装上面的一步步安装即可。

安装成功后访问登陆页面

管理员账号密码已经给了,直接登录。

漏洞测试 风格管理模板存在任意编辑文件实现命令执行

经测试,发现后台风格管理模板上传主题压缩包时可以进行污染压缩包theme.json文件,达到目录穿越到服务器敏感目录,从而在模板管理在解析时没有进行检测可以任意编辑系统敏感文件导致GetShell,控制服务器权限。

漏洞产生的主要文件:主题上传Controller文件: src/mAIn/JAVA/cc/iteachyou/cms/controller/admin/ThemesController.java , 找到 add 方法。

首先是判断文件是否存在以及JSON解析是否正确;判断Key是否都存在;判断对应值是否为空;创建theme对象;判断设置路径是否已"default"开头。最后校验主题包各种配置是否正确。确认的话就成功上传。

但是没有对themePath路径问题进行检测,便可构造目录穿越,这也是该漏洞造成的关键原因。

最后是判断上传的压缩包里的各类信息无误后进入处理保存文件逻辑的save方法。

在上传的主题包里的dreamerdreamer-cmstemplatesdefault_v3theme.json文件,将目录穿越的构造替换主题包路径,更改之后theme.json文件内容如下:

{

"themeName":"新版主题",

"themeImage":"http://localhost:8888/resource/img/dreamercms-logo.png",

"themeAuthor":"",

"themePath":"../../../../../../../../../../../../../../"//此路径要和模板文件夹的名称一致

}

虽然有检测,但是在之前themeDir已经被污染了,所以相当于检测相当于没有。接着检查是否有权限,startwith方法也没有问题。

``

最后就是保存文件。到此时后台模板已被刚刚传入的构造污染,可以进行利用,效果如下:

将修改后的主题包上传

风格页面会多出一个新的主题

点击启用。然后查看模板管理页面,发现目录穿越成功,成功进入服务器的根目录,这时就相当于在自己服务器上编辑修改文件。

测试文件为/home/www 目录下的1.txt文件,原本是空文件。

在页面修改该文件,添加内容

然后保存,再到服务器里查看,成功将内容加入。

如果修改authorized_key文件便可进行免密登录,利用压缩校验不正确从而上传任意危险文件,例如一句话木马等来获取系统权限;还可以获取系统passwd文件获取敏感信息,也可以写计划任务进行命令执行。

该漏洞分析到此为止,接着是附件管理模板可以进行任意文件下载、删除。

附件管理模板可以进行任意文件下载、删除。

漏洞产生主要文件:

src/main/java/cc/iteachyou/cms/controller/admin/AttachmentController.java 添加附件功能的代码如下:

首先肯定是先添加附件,这里没有对attachment参数进行过滤。导致保存附件的时候目录穿越的构造就被保留了下来,对其进行解析后就可以将服务器的指定文件随意下载、删除,从而对服务器构成威胁。

下载、删除功能的代码都在同一个文件,都是通过刚刚的attachment参数,然后使用attachment.getFilepath获取服务器文件路径,对其进行解析。

先看下载功能的代码:

这里也没有对 filePath变量进行过滤,所以总的来说就是添加附件和下载附件的两处代码,都没有对相应的变量进行检测过滤,从而导致漏洞产生。

删除功能的代码:

删除的话就没什么好说的,和上面一样的原理,试想下,如果可以任意删除服务器的配置文件,那不就相当于服务器要崩的节奏。

漏洞演示如下:

还是利用刚刚/home/www目录下的1.txt文件

在添加附件模块先随便上传一个本地文件(这里随便上传了一个theme.txt文件)

burpsuite抓包如下

需要改的就是这个filepath参数对应的文件路径,将其修改为

../../../../../../../../../../../../../home/www/1.txt

然后放包。

刷新页面,观察到多了一个theme.txt文件,下载下来并打开内容如下:

删除效果,点击右边的删除。

发现该1.txt文件被删除了,任意删除文件成功。

模板管理存在任意文件包含

产生漏洞的主要文件:src/main/java/cc/iteachyou/cms/taglib/tags/IncludeTag.java

If语句只是简单判断值是否为空,但是没有检测过滤字符,导致可以传入目录穿越的构造 ../../../../../../../../../../../../../home/www/1.txt 进行文件包含,读取里面内容。接着在模板管理找到 index_about.html

将 ../../../../../../../../../../../../../home/www/1.txt 写入div标签并保存,如下图

接着访问主页里的关于我们:

可以看到,成功进行了文件包含,如将构造 /home/www/1.txt 换成 /etc/passwd 这类敏感文件,则被攻击者获取到关键信息,这里也测试下:修改构造

页面如期输出/etc/passwd文件里的信息。

总结

本文测试是在该cms旧版本上进行的,新版本对已有问题已进行了修复,这次对该java实现的cms漏洞挖掘收获满满,对cms安装、部署以及代码审计中要注意的点得到了良好的锻炼。



Tags:springboot   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
详解基于SpringBoot的WebSocket应用开发
在现代Web应用中,实时交互和数据推送的需求日益增长。WebSocket协议作为一种全双工通信协议,允许服务端与客户端之间建立持久性的连接,实现实时、双向的数据传输,极大地提升了用...【详细内容】
2024-01-30  Search: springboot  点击:(15)  评论:(0)  加入收藏
SpringBoot如何实现缓存预热?
缓存预热是指在 Spring Boot 项目启动时,预先将数据加载到缓存系统(如 Redis)中的一种机制。那么问题来了,在 Spring Boot 项目启动之后,在什么时候?在哪里可以将数据加载到缓存系...【详细内容】
2024-01-19  Search: springboot  点击:(86)  评论:(0)  加入收藏
SpringBoot3+Vue3 开发高并发秒杀抢购系统
开发高并发秒杀抢购系统:使用SpringBoot3+Vue3的实践之旅随着互联网技术的发展,电商行业对秒杀抢购系统的需求越来越高。为了满足这种高并发、高流量的场景,我们决定使用Spring...【详细内容】
2024-01-14  Search: springboot  点击:(91)  评论:(0)  加入收藏
公司用了六年的 SpringBoot 项目部署方案,稳得一批!
本篇和大家分享的是springboot打包并结合shell脚本命令部署,重点在分享一个shell程序启动工具,希望能便利工作。 profiles指定不同环境的配置 maven-assembly-plugin打发布压...【详细内容】
2024-01-10  Search: springboot  点击:(163)  评论:(0)  加入收藏
简易版的SpringBoot是如何实现的!!!
SpringBoot作为目前最流行的框架之一,同时是每个程序员必须掌握的知识,其提供了丰富的功能模块和开箱即用的特性,极大地提高了开发效率和降低了学习成本,使得开发人员能够更专注...【详细内容】
2023-12-29  Search: springboot  点击:(134)  评论:(0)  加入收藏
用 SpringBoot+Redis 解决海量重复提交问题
前言 一:搭建redis的服务Api 二:自定义注解AutoIdempotent 三:token创建和检验 四:拦截器的配置 五:测试用例 六:总结前言:在实际的开发项目中,一个对外暴露的接口往往会面临很多...【详细内容】
2023-12-20  Search: springboot  点击:(53)  评论:(0)  加入收藏
SpringBoot中如何优雅地个性化定制Jackson
当使用 JSON 格式时,Spring Boot 将使用ObjectMapper实例来序列化响应和反序列化请求。在本教程中,我们将了解配置序列化和反序列化选项的最常用方法。一、默认配置默认情况下...【详细内容】
2023-12-20  Search: springboot  点击:(132)  评论:(0)  加入收藏
springboot-如何集成Validation进行参数校验
一、步骤概览 二、步骤说明1.引入依赖包在 pom.xml 文件中引入 validation 组件,它提供了在 Spring Boot 应用程序中进行参数校验的支持。<!-- WEB 程序依赖包 --><dependen...【详细内容】
2023-12-13  Search: springboot  点击:(157)  评论:(0)  加入收藏
优雅的springboot参数校验,你学会了吗?
前言在后端的接口开发过程,实际上每一个接口都或多或少有不同规则的参数校验,有一些是基础校验,如非空校验、长度校验、大小校验、格式校验;也有一些校验是业务校验,如学号不能重...【详细内容】
2023-11-29  Search: springboot  点击:(200)  评论:(0)  加入收藏
Springboot扩展点之BeanDefinitionRegistryPostProcessor,你学会了吗?
前言通过这篇文章来大家分享一下,另外一个Springboot的扩展点BeanDefinitionRegistryPostProcessor,一般称这类扩展点为容器级后置处理器,另外一类是Bean级的后置处理器;容器级...【详细内容】
2023-11-27  Search: springboot  点击:(175)  评论:(0)  加入收藏
▌简易百科推荐
 Opera 漏洞可能让黑客在 Mac 或 Windows 上运行任何文件
网络安全研究人员披露了 Microsoft Windows 和 Apple macOS Opera 网络浏览器中的一个现已修补的安全漏洞,该漏洞可被利用来执行底层操作系统上的任何文件。Guardio Labs研究...【详细内容】
2024-01-19  科技大人物    Tags:漏洞   点击:(76)  评论:(0)  加入收藏
俄黑客组织利用WinRAR漏洞攻击乌克兰
据Securityaffairs网站消息,具有俄罗斯背景的黑客组织UAC-0099正在利用WinRAR中的一个零日漏洞(已修复,编号CVE-2023-38831)对乌克兰传播LONEPAGE恶意软件。实际上,自2022年中旬...【详细内容】
2023-12-27  区块软件开发  今日头条  Tags:漏洞   点击:(149)  评论:(0)  加入收藏
一文带你了解数据库层的安全漏洞及其危害性
数据库层的安全漏洞是Web应用程序中最常见且最简单的漏洞之一。这种漏洞的主要原因是程序没有对用户输入的数据进行合法性判断和处理,从而导致攻击者能够在Web应用程序中注入...【详细内容】
2023-12-19  科技界脑洞    Tags:漏洞   点击:(148)  评论:(0)  加入收藏
七个优秀开源免费Web安全漏洞扫描工具
Web安全漏洞扫描技术是一种用于检测Web应用中潜在的漏洞或者安全风险的自动化测试技术。Web安全扫描工具可以模拟黑客行为,检测常见的漏洞,例如:Sql注入、XSS、文件上传、目录...【详细内容】
2023-11-17  andflow  微信公众号  Tags:安全漏洞   点击:(225)  评论:(0)  加入收藏
2023年TOP 5 Kubernetes漏洞
译者 | 晶颜审校 | 重楼Kubernetes是一个流行的开源平台,用于管理容器化的工作负载和服务。它是一个简化了大量部署、扩展和操作任务的系统,但它并非没有风险。就像任何其他软...【详细内容】
2023-11-15    51CTO  Tags:漏洞   点击:(311)  评论:(0)  加入收藏
SysAid IT 曝出零日漏洞,需尽快安装补丁
根据微软的最新发现,以传播 Clop 勒索软件而闻名的 Lace Tempest 黑客组织,近日利用 SysAid IT 支持软件的零日漏洞实施了攻击。该黑客组织曾经还利用 MOVEit Transfer 和 Pap...【详细内容】
2023-11-10  沐雨花飞蝶  微信公众号  Tags:SysAid   点击:(247)  评论:(0)  加入收藏
常见Windows远程漏洞信息整理
通过漏洞扫描,发现漏洞,更新补丁,增强内网安全防御能力。1.常见windows提权漏洞(1)MS08-067 Windows服务漏洞漏洞描述:该漏洞影响Windows Server 2000、Windows XP和Windows 2003...【详细内容】
2023-11-07  小兵搞安全  微信公众号  Tags:漏洞   点击:(274)  评论:(0)  加入收藏
报告称微软 Skype 移动应用存在严重漏洞,可轻易泄露用户 IP 地址
IT之家 8 月 29 日消息,据 404Media.co 报道,微软的 Skype 移动应用存在一个严重的漏洞,可能导致黑客通过发送一个链接就能检测到用户的 IP 地址。该漏洞只需利用 Skype 的文本...【详细内容】
2023-08-29    IT之家  Tags:漏洞   点击:(150)  评论:(0)  加入收藏
可绕过苹果三重防护机制,专家发现 macOS 新漏洞
IT之家 8 月 15 日消息,近期在拉斯维加斯举行的 Defcon 黑客大会上,安全研究员帕特里克・沃德尔(Patrick Wardle)展示了 macOS 新漏洞,可以绕过苹果设置的三重防护机制,窃取设备敏...【详细内容】
2023-08-15    IT之家  Tags:漏洞   点击:(211)  评论:(0)  加入收藏
两个新漏洞可能影响 40% 的 Ubuntu 云工作负载
云安全公司 Wiz 的研究人员在 Ubuntu 的 OverlayFS 模块中发现了两个易于利用的权限提升漏洞,影响了 40% 的 Ubuntu 云工作负载。OverlayFS 是一种联合文件系统,允许一个文件...【详细内容】
2023-07-28    云安全公司 Wiz 的研究人员在 Ubuntu 的 OverlayFS 模块中发现了两个易于利用的权限提升漏洞,影响了   Tags:漏洞   点击:(226)  评论:(0)  加入收藏
站内最新
站内热门
站内头条