记一次若依框架和Springboot常见报错的实战漏洞挖掘
目录
前言
本次测实战利用图
1.判段系统框架
2.登录页面功能点测试
2.1 弱口令
2.2 webpack泄露信息判断
2.3 未授权接口信息发现
3.进一步测试发现新的若依测试点
3.1 默认弱口令
3.2 历史漏洞
4.访问8080端口发现spring经典爆粗
4.1 druid弱口令
4.2 SwaggerUI文档泄露
前言
又是摸鱼的一天,闲的没事,找个站玩玩,首先开局一个框,漏洞全靠扫,哦不对,全靠找.当然全文主要是对利用姿势做个总结,只有思路,没有详细利用,问就是报告写起来太费时间了,下面所有的利用流程图,通过打开新页面放大可以清晰查看,可自行下载食用.
免责声明
博文中涉及的方法可能带有危害性,仅供安全研究与教学之用,读者将其方法用作做其他用途,由读者承担全部法律及连带责任,文章作者不负任何责任.
本次测实战利用图

1.判段系统框架
如下图所示,一眼就知道是什么系统了,若依没错了
当然如果没看出来的话,通过刚进入时的加载页面也是可以看出来的,若依经典加载页面
看一眼指纹信息,vue/elementUI其实如果还不清楚的话,这两个也可以帮助我们判断框架的信息,重点关注webpack
2.登录页面功能点测试
首先就是弱口令了,可惜眼见的师傅可以看出来,图片中没有显示验证码,其实是服务器500了,直接很多功能不用测试了
2.1 弱口令
ruoyi/123456
2.2 webpack泄露信息判断
当然还是按照正常流程走一遍,F12打开源代码,先看看有没有webpack泄露,发现没有,但是还不确定,看看app.js中有没有泄露的js.map.发现没有,
存在webpack泄露的网站会出现下面所示的信息,然后利用工具测试或是还原源代码自行查找敏感信息或测试未授权接口即可
2.3 未授权接口信息发现
正常操作我们可以如图所示全局搜索path/url/api 找接口信息,然后就是构造进行接口GET/POST遍历或是根据泄露的请求包参数信息进行伪造,至于为什么不用Findsomething查找,是因为服务器500了,熊猫头挂了,正常也可以通过Findsomething或是urlfinder查找接口信息
到这里有因为本站的500的原因,难道只能撤了,怎么可能,测试才刚刚开始
3.进一步测试发现新的若依测试点
这时候就体现信息收集的能力了,正常师傅遇到上面的情况就直接溜了,这时候我们可以通过查看不同的端口服务是否存活来寻找新的资产,这时候对比就来了,superSearchPlusTools和shodan,很多时候shodan能探测到更多信息,当然通过进行端口扫描探测存活端口也是可以的.
发现shodan在端口探测这方面还是不错的
3.1 默认弱口令
访问80端口发现存在若依后台,并存在默认账号和密码的admin/123456
3.2 历史漏洞
根据这个系统的版本信息一看就是老版本了直接用ruoyiVuln.jar若依工具一把梭哈或是通过搜索历史漏洞通过若依的poc进行尝试,ok了
4.访问8080端口发现spring经典爆粗
看到下面的这个顿时兴奋了起来,因为之前遇到过这个一个相同的站只是打码部分的名字不同,当时发现有springboot的常见的所有漏洞
直接拼接/swagger-ui.html访问看是否报错,spring经典报错,为什么用/swagger-ui.html进行报错是因为我尝试了使用1,但是发现了出现下面的结果,然后尝试了一下有没有swagger-ui.html文件发现报错了
接下来就可以按照自己整理的springboot报错页面进行测试
4.1 druid弱口令
直接地址栏后拼接/druid
ruoyi/123456 直接进入后台,如果进不去的话尝试弱口令爆破或是绕过
/druid/login.html -->改为/druid/index.html进行绕过或是访问下面的看能否进行绕过,如果想进一步利用可以看我写的这篇文章
上心师傅的思路分享(二)--Druid monitor_druid弱口令-CSDN博客https://blog.csdn.net/weixin_72543266/article/details/139512111?spm=1001.2014.3001.5501
/druid/weburi.html
/druid/websession.html
4.2 SwaggerUI文档泄露
在fuzz时发现/v2/api-docs文档信息泄露
通过插件Swagger-UI进行利用然后手工测试api接口,或是通过工具进行测试但是要注意避免删除数据
5.总结
本次主要是对渗透测试中的一次实战进行记录,当然也是摸摸鱼的成果,主要是对若依常见的一些利用姿势和springboot的利用姿势做个总结.
相关文章:

记一次若依框架和Springboot常见报错的实战漏洞挖掘
目录 前言 本次测实战利用图 1.判段系统框架 2.登录页面功能点测试 2.1 弱口令 2.2 webpack泄露信息判断 2.3 未授权接口信息发现 3.进一步测试发现新的若依测试点 3.1 默认弱口令 3.2 历史漏洞 4.访问8080端口发现spring经典爆粗 4.1 druid弱口令 4.2 SwaggerU…...

Idea合并Git分支信息
#git 的笔记 ##本篇文章是通过Idea 实现git 命令操作的代码的上传与合并。 1.合并分支 点击 Git 选择Merge 这里选择合并远程的分支...

【学习css2】grid布局-页面footer部分保持在网页底部
中间内容高度不够屏幕高度撑不开的页面时候,页面footer部分都能保持在网页页脚(最底部)的方法 1、首先上图看显示效果 2、奉上源码 2.1、html部分 <body><header>头部</header><main>主区域</main><foot…...

Django 表单
Django 表单 Django 表单是 Web 开发中不可或缺的一部分,它允许用户与网站进行交互,如提交数据、上传文件等。在 Django 框架中,表单功能非常强大,支持各种自定义和验证,使得开发者能够轻松地处理用户输入。本文将详细介绍 Django 表单的使用方法,包括创建表单、表单字段…...

【Linux网络】网络基础
本篇博客整理了 Linux 网络编程的前置知识,例如网络的发展、协议和协议栈分层、网络通信原理、网络地址等,为后续进入 Linux 网络编程作铺垫。 目录 一、网络发展 二、网络协议 1)协议的作用 2)协议栈 3)协议分层…...

Open3D 可视化点云配准中匹配点之间的连线
目录 一、概述 二、代码实现 2.1关键函数 2.2完整代码 三、实现效果 3.1原始点云 3.2处理后的点云 一、概述 在点云配准的过程中,可视化匹配点之间的连线(匹配线)有助于更直观地理解配准结果和误差分布。以下是可视化匹配点之间连线的好处和作用: 1. 直观理…...

Linux编程第三篇:Linux简介,开源软件简介(Linux是否安全?参考TESEC指标)
业精于勤荒于嬉,行成于思毁于随。 今天这篇算是Linux的正式学习,废话不多说,我们开始吧 第三篇 一、UNIX与Linux发展史1.1、UNIX发展历史和发行版本1.2、UNIX主要发行版本1.3、Linux发展历史1.4、Linux内核版本1.5、Linux主要发行版本 二、开…...

【JavaSE复习】数据结构、集合
JavaSE 复习 1.数据结构1.1 查找1.1.1 基本查找1.1.2 二分查找1.1.3 插值查找1.1.4 斐波那契查找1.1.5 分块查找1.1.6 分块查找的扩展(无规律数据) 1.2 排序1.2.1 冒泡排序1.2.2 选择排序1.2.3 插入排序1.2.4 快速排序 2. 集合2.1 基础集合2.1.1 集合和数…...

Java版Flink使用指南——自定义无界流生成器
大纲 新建工程自定义无界流 使用打包、提交、运行工程代码 在《Java版Flink使用指南——从RabbitMQ中队列中接入消息流》一文中,我们让外部组件RabbitMQ充当了无界流的数据源,使得Flink进行了流式处理。在《Java版Flink使用指南——将消息写入到RabbitMQ…...

Vue3框架搭建4:配置说明-eslint配置
配置说明: .eslintrc.cjs: /* eslint-env node */ //node环境,并引入一个模块解析补丁 require(rushstack/eslint-patch/modern-module-resolution)module.exports { //继承其他配置root: true, //跟配置文件,ESLint不会在父目…...

JavaFx+MySql学生管理系统
前言: 上个月学习了javafx和mysql数据库,于是写了一个学生管理系统,因为上个月在复习并且有一些事情,比较忙,所以没有更新博客了,这个项目页面虽然看着有点简陋了,但是大致内容还是比较简单的,于是现在跟大家分享一下我的学生管理系统,希望对这方面有兴趣的同学提供一些帮助 &a…...

Java--抽象类
1.抽象--abstract 2.不能对抽象类进行实例化,也就是不能new这个抽象类 3.抽象类的应用,就是在class前加入abstract这个单词,同理抽象方法也是在void前加入abstract 4.在抽象类中可以写普通方法,但抽象方法只能写在抽象类中 5.…...

26.Labview波形图、XY图、强度图使用精讲
我们如何使用Labview显示曲线或者制作出下面这种我们想要的曲线并随着我们输入值的变化而变化呢? 本文详细讲解一下每种波形图的使用方式,帮助大家深入了解波形图的使用技巧。 文章中所有程序均可在百度网盘下载,下载方式:复制下…...

系统启动 | 安全启动时 “地址线” 被篡改了怎么办?
Hi,你们有没有想过,在咱们启动的过程中,就算是开了安全启动。但是如果在执行最后一条跳转指令时,如果此时改变FLASH或者DDR的地址线,相当于跳转到了非法的地址,那安全启动功能不就丧失了吗? 提到…...

Kafka基础组件图推演
文章目录 1. Controller Broker保障机制 2. 组件架构1. Log Manager2. Replication Manager3. SocketServer4. NetworkServer5. ZKClient 1. Controller Broker Kafka集群中有一个Controller Broker,负责元数据管理和协调。 Kafka使用Zookeeper作为集群元数据的存储…...

k8s中使用cert-manager生成自签名证书
一、安装 cert-manager 注意查看cert-manager和K8S支持的对应版本 我的 k8sv1.28.2,cert-manager v1.12.11 下载 cert-manager.yaml 文件,执行 kubectl apply -f cert-manager.yaml注意:安装成功后如果应用路由使用了Ingress,应用路由不需要…...

处于群晖Docker中的HomeAssistant监控宿主机CPU温度
处于群晖Docker中的HomeAssistant监控宿主机CPU温度 解决方案 在configuration.yaml中添加: sensor: - platform: filename: "Host Temperature" # 可以自定义file_path: /sys/class/hwmon/hwmon0/temp1_inputvalue_template: "{{ int(value)/100…...

STM32串口工作原理
STM32的串口是相当丰富的,功能也很强劲。最多可提供5 路串口,有分数波特率发生器、支持单线光通信和半双工单线通讯、支持LIN、智能卡协议和IrDA SIRENDEC 规范(仅串口3支持)、具有DMA等。 串口最基本的设置,就是波特率的设置。STM32的串口使…...

STM32杂交版(HAL库、音乐盒、闹钟、点阵屏、温湿度)
一、设计描述 本设计精心构建了一个以STM32MP157A高性能单片机为核心控制单元的综合性嵌入式系统。该系统巧妙融合了蜂鸣器、数码管显示器、点阵屏、温湿度传感器、LED指示灯以及按键等多种外设模块,形成了一个功能丰富、操作便捷的杂交版智能设备。通过串口…...

多输入多输出 | Matlab实现Transformer多输入多输出预测
多输入多输出 | Matlab实现Transformer多输入多输出预测 目录 多输入多输出 | Matlab实现Transformer多输入多输出预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 多输入多输出 | Matlab实现Transformer多输入多输出预测(完整源码和数据) 1.da…...

Linux文件编程(标准C库)
目录 一、标准C库打开/创建文件,读写文件,光标移动 二、标准C库写入结构体到文件 三、其他函数补充 1.fputc函数 2.feof函数和fgetc函数 前面讲到的open函数都是基于linux内核的,也就是说在Windows系统上无法运行,移植性比较…...

生产英特尔CPU处理器繁忙的一天
早晨:准备与检查 7:00 AM - 起床与准备 工厂员工们早早起床,快速洗漱并享用早餐。为了在一天的工作中保持高效,他们会进行一些晨间锻炼,保持头脑清醒和身体活力。 8:00 AM - 到达工厂 员工们到达英特尔的半导体制造工厂&#…...

MVC拦截器、ThreadLocal来进行登录拦截
MVC拦截器、ThreadLocal来进行登录拦截 1. 对登录进行拦截1.1 什么是ThreadLocal1.2 定义UserHolder 类,来封装ThreadLocal方法1.3 拦截器WebMvcConfigurer 的配置1.4 登录的配置,当碰到拦截的方法的时候调用1.5 UserServiceImpl1.6 controllerÿ…...

小程序问题
1.获取节点 wx.createSelectorQuery() wx.createSelectorQuery().in(this) //组件中加in(this),不然获取不到 2.使用实例 wx.createSelectorQuery().in(this).select(#share).fields({node: true,size: true}).exec(async (res) > {const canvas res[0].node;…...

arm 版的 deb、rpm、AppImage 都有什么区别
qq arm 版的 deb、rpm 和 AppImage 格式之间存在几个关键区别。以下是对这些区别的详细解释: 包管理系统与兼容性: deb:是Debian及其衍生发行版(如Ubuntu)中使用的软件包格式。这些系统使用dpkg命令来管理deb包&#…...

docker中mysql设置lower_case_table_names配置的坑
前沿 今天在使用flowable流程框架的时候,遇到一个问题。需要配置MySQL数据库以实现表名大小写不敏感。本以为这是一个简单的任务,却耗费了我两个多小时的时间。 docker容器中修改配置,重启不成功 我们前提是容器中的mysql中已经有很多数据…...

python日志记录工具:loguru日志库使用
文章目录 一、使用loguru1、安装2、简单使用3、详细使用4、工具类(1)logUtil.py(2)测试类(3)效果 参考资料 一、使用loguru 1、安装 pip install loguru2、简单使用 from loguru import logger# 打印到文…...

python入门基础知识·二
""" # Python介绍 # Python注释 # 单行注释: # # 多行注释: r """""" # Python输出和输入 # print: 输出 # input: 输入 ①会让程序暂停,②得到的是字符串内容 int(&…...

深度学习中的正则化技术 - 噪声鲁棒性篇
序言 在深度学习的蓬勃发展中,模型的性能与泛化能力成为了研究者们关注的焦点。然而,实际应用中的数据往往伴随着各种噪声,这些噪声不仅来源于数据采集过程中的硬件限制,还可能由环境干扰、传输错误等因素引入。噪声的存在严重影…...

如何通过 Java 来完成 zip 文件与 rar 文件的解压缩?
目录 一、用到的知识点 二、代码展示(分解版) 三、代码展示(整体版) 一、用到的知识点 1.IO流: Input:输入,通过“输入流”进行文件的读取操作 Output:输出,通过“输出流”进行文件的写入操作 2.文件操作相关: File类ÿ…...