记一次springboot项目漏洞挖掘

这篇具有很好参考价值的文章主要介绍了记一次springboot项目漏洞挖掘。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

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

安装

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

https://gitee.com/iteachyou/dreamer_cms#https://gitee.com/link?target=https%3A%2F%2Fwww.iteachyou.cc%2Farticle%2F55ec2939c29147eca5bebabf19621655

该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"开头。最后校验主题包各种配置是否正确。确认的话就成功上传。

【----帮助网安学习,以下所有学习资料免费领!加vx:yj009991,备注 “博客园” 获取!】

 ① 网安学习成长路径思维导图
 ② 60+网安经典常用工具包
 ③ 100+SRC漏洞分析报告
 ④ 150+网安攻防实战技术电子书
 ⑤ 最权威CISSP 认证考试指南+题库
 ⑥ 超1800页CTF实战技巧手册
 ⑦ 最新网安大厂面试题合集(含答案)
 ⑧ APP客户端安全检测指南(安卓+IOS)

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

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

在上传的主题包里的\dreamer\dreamer-cms\templates\default_v3\theme.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文件,下载下来并打开内容如下:

服务器里的/home/www/1.txt里的内容193840sswwloP 已成功写入本地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安装、部署以及代码审计中要注意的点得到了良好的锻炼。

更多网安技能的在线实操练习,请点击这里>>

 文章来源地址https://www.toymoban.com/news/detail-436589.html

到了这里,关于记一次springboot项目漏洞挖掘的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 记一次SVN信息泄露挖掘过程(附工具)

    SVN是源代码管理软工具。使用SVN管理本地代码过程中,将生成名为.svn的隐藏文件夹,包含非常重要的源码信息。当网站管理员在发布代码时,没有使用导出功能,直接进行复制粘贴,导致出现SVN信息泄露漏洞 常见漏洞变现为 :域名/.svn/entries。 使用的工具为:AWVS,SvnExploi

    2024年02月06日
    浏览(35)
  • 记一次Druid未授权访问漏洞

    声明:请于合法授权环境下进行使用,请勿用于非法操作! 0x01 漏洞简介 Druid是阿里巴巴数据库出品的,为监控而生的数据库连接池,并且Druid提供的监控功能,监控SQL的执行时间、监控Web URI的请求、Session监控。当开发者配置不当时就可能造成未授权访问,暴露Druid的监控界

    2024年02月13日
    浏览(43)
  • 记一次SSRF漏洞的学习和利用

    导语:本文主要记录一次我们在复盘嘶吼网站渗透报告时遇到的一个SSRF漏洞。 本文主要记录一次我们在复盘嘶吼网站渗透报告时遇到的一个SSRF漏洞。此漏洞并结合腾讯云的API接口,可以获取大量嘶吼服务器的敏感信息。利用这些敏感信息,又可以进行更为深入的渗透。 这篇

    2024年02月06日
    浏览(57)
  • 记一次weblogic-10.3.6.0靶场漏洞利用

    进入Vuln-Range的weblogic-10.3.6.0靶场 靶场地址后面加上 /console 进入后台页面 使用weblogic漏洞利用工具进行扫描 删掉端口后面多余字符,输入/uddiexplorer/ 右上角图片新标签页打开 复制图片文件名 到weblogic中查找 输入 find ./ -name oracle_logo.gif(文件名) 找到的路径用记事本保存一下 在

    2023年04月18日
    浏览(40)
  • 记一次修复漏洞(OpenSSH 安全漏洞(CVE-2023-28531))CentOS升级openssh

    1.查看当前openssl和openssh版本 2.安装并启用telnet服务(防止升级过程无法连接机器) 设置开机自启 启动服务 检查服务是否开启: 开启root用户在telnet登陆:   3.配置防火墙(关闭防火墙可不配置) 法一:直接对外开发23端口(高风险)  #--permanent 为永久开启,不加此参数重启

    2024年02月06日
    浏览(49)
  • 我的第一次edusrc漏洞挖掘 (三连挖)

    之前被师傅们恐吓,搞得我都没发,说什么发了就要被抓;,我打上了大大的码 上次无意发到国外某平台的漏洞后,我尝到了甜头,开始尝试挖掘国内edu漏洞,于是了解了edusrc平台,并就此开始了平台允许、合法合规的一次漏洞挖掘 涉及漏洞类型: 弱口令 未授权访问 任意

    2024年02月05日
    浏览(46)
  • edusrc某大学证书的一次漏洞挖掘

    前言 以下涉及到的漏洞已提交至edusrc教育行业漏洞报告平台并已修复,该文章仅用于交流学习,如有不足之处,欢迎各位大佬指点。 正文 1、通过注册一个测试账号然后登录页面 2、在浏览任意功能页面时,发现cookie疑似base64加密 3、通过base64解密网站发现直接解密乱码 ---

    2024年02月05日
    浏览(40)
  • 记一次SpringBoot应用性能调优过程

    使用SpringBoot、MyBatis-Plus开发一个接口转发的能,将第三方接口注册到平台中,由平台对外提供统一的地址,平台转发时记录接口的转发日志信息。开发完成后使用Jmeter进行性能测试,使用100个线程、持续压测180秒,测试结果如下,每秒仅支持8个并发。 服务器 作用 CPU核数 内

    2024年02月03日
    浏览(43)
  • 记一次项目内存优化--内存泄漏

    主要是与某个版本作基准进行对比(一般是最新版本的前一个版本作原数据),优化后,PSS有所下降,线上OOM率减少(Bugly版本对比),泄漏点减少(从捉取一些线上上传回来的内存堆栈信息分析,或本地测试后dump下hprof文件分析)。 了解什么是内存泄漏 了解虚拟机中的对象

    2024年02月12日
    浏览(74)
  • 记一次前端Vue项目国际化解决方案

    有一个vue项目,要实现国际化功能,能够切换中英文显示,因为该项目系统的用户包括了国内和国外用户。 1、页面表单上的所有中文标签要国际化,包括表单属性标签、表格列头标签等, title=“数量”; 2、输入框的提示内容需要国际化,如 placeholder=“选择日期” 3、js代码

    2024年02月20日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包