记一次若依框架和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博客icon-default.png?t=N7T8https://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的利用姿势做个总结.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/374987.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HumanoidBench——模拟仿人机器人算法有未来

概述 论文地址:https://arxiv.org/pdf/2403.10506 仿人机器人具有类似人类的外形,有望在各种环境和任务中为人类提供支持。然而,昂贵且易碎的硬件是这项研究面临的挑战。因此,本研究开发了使用先进模拟技术的 HumanoidBench。该基…

【鸿蒙学习笔记】关系型数据库概述

目录标题 关系型数据库的运行机制样例代码共通方法 DBUtilsIndex 代码效果 关系型数据库的运行机制 1、 关系型数据库对应用提供通用的操作接口,底层使用SQLite作为持久化存储引擎,支持SQLite具有的数据库特性,包括但不限于事务、索引、视图…

代理IP池:解析与应用

代理IP大家都了解不少了,代理IP池又是什么呢?下面简单介绍一下吧! 1. 概述 代理IP池就是由多个代理IP地址组成的集合,用于实现更高效的网络访问和数据获取。这些IP地址通常来自不同的地理位置和网络提供商,经过动态管…

谷粒商城实战笔记-24-分布式组件-SpringCloud Alibaba-Nacos配置中心-命名空间与配置分组

文章目录 一,命名空间1,简介1.1,命名空间的主要功能和特点1.2,使用场景1.3,如何指定命名空间 2,命名空间实战2.1,环境隔离2.2,服务隔离 二,配置集三,配置集ID…

LabVIEW的Actor Framework (AF) 结构介绍

LabVIEW的Actor Framework (AF) 是一种高级架构,用于开发并发、可扩展和模块化的应用程序。通过面向对象编程(OOP)和消息传递机制,AF结构实现了高效的任务管理和数据处理。其主要特点包括并发执行、动态可扩展性和强大的错误处理能…

Day1每日编程题日记:数字统计、两个数组的交集、点击消除

前言:该篇用于记录自看。曾回看昨天的做题代码,竟然会觉得陌生,这竟然是我写的,细细读了一下,原来我当时是这么想的。因此我觉得记代码没有实际用处,重点是领悟了思想,这样子代码就在心中&#…

发布:PhonePrompter_PC(手机录视频提词器_电脑版)

PhonePrompter_PC(手机录视频提词器_电脑版) 目 录 1. 概述... 2 2. 应用手册... 3 下载地址:百度网盘 请输入提取码 提取码:8wsa 1. 概述 平时工作和生活中需要用手机竖屏或横屏模式录制造工作、科技、历史、生活等方面的一些视…

web后端开发--请求响应

目录 前言 请求 简单参数 原始方法 Spring方式 Post请求乱码处理 实体参数 简单实体参数 复杂实体参数 ​编辑 数组集合参数 数组参数 ​编辑 集合参数 日期参数 ​编辑 Json参数 ​编辑 传递json数据 json数组 json对象(POJO) jso…

【Flask从入门到精通:第一课:flask的基本介绍、flask快速搭建项目并运行】

从0开始入手到上手一个新的框架,应该怎么展开?flask这种轻量级的框架与django这种的重量级框架的区别?针对web开发过程中,常见的数据库ORM的操作。跟着学习flask的过程中,自己去学习和了解一个新的框架(San…

CSS【详解】长度单位 ( px,%,em,rem,vw,vh,vmin,vmax,ex,ch )

px 像素 pixel 的缩写,即电子屏幕上的1个点,以分辨率为 1024 * 768 的屏幕为例,即水平方向上有 1024 个点,垂直方向上有 768 个点,则 width:1024px 即表示元素的宽度撑满整个屏幕。 随屏幕分辨率不同,1px …

小程序问题

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;…

如何将Docker镜像源更改为阿里云的镜像加速地址

在使用Docker时,尤其是在国内环境下,由于网络原因,从Docker Hub拉取镜像可能会遇到速度较慢的问题。为了提高拉取速度,我们可以将Docker的镜像源更改为阿里云等国内镜像源。下面详细介绍如何获取并配置阿里云的Docker镜像加速地址…

C++三大特征:多态

1.virtual关键字 1.1何为虚函数 virtual用于在base类中声明一个虚函数,[虚函数]的主要作用是[允许]在派生类(也称为子类)中对该函数进行[重写](override) 1.2何为重写 重写就是在drived类中写一个函数(返回类型,名称,参数列表)与base类相同的函数,dr…

C++基础(二)

目录 1.类和对象 1.1类的定义 1.2访问限定符 1.3类域 2.实例化 2.1实例化概念 2.2对象大小 3.this指针 4.类的默认成员函数 4.1构造函数 4.2析构函数 4.5运算符重载 1.类和对象 1.1类的定义 类的定义格式 class为定义类的关键字,Stack为类的名字&…

从零开始实现大语言模型(四):简单自注意力机制

1. 前言 理解大语言模型结构的关键在于理解自注意力机制(self-attention)。自注意力机制可以判断输入文本序列中各个token与序列中所有token之间的相关性,并生成包含这种相关性信息的context向量。 本文介绍一种不包含训练参数的简化版自注意力机制——简单自注意…

uni-app/vue项目如何封装全局消息提示组件

效果图&#xff1a; 第一步&#xff1a;封装组件和方法&#xff0c;采用插件式注册&#xff01; 在项目目录下新建components文件夹&#xff0c;里面放两个文件&#xff0c;分别是index.vue和index.js. index.vue&#xff1a; <template><div class"toast&quo…

【Linux杂货铺】2.进程优先级

1.进程优先级基本概念 进程优先级是操作系统中用于确定进程调度顺序的一个指标。每个进程都会被分配一个优先级&#xff0c;优先级较高的进程会在调度时优先被执行。进程优先级的设定通常根据进程的重要性、紧急程度、资源需求等因素来确定。操作系统会根据进程的优先级来决定进…

nuPlan 是一个针对自动驾驶车辆的闭环机器学习(ML-based)规划基准测试

nuPlan: A closed-loop ML-based planning benchmark for autonomous vehicles nuPlan 是一个针对自动驾驶车辆的闭环机器学习&#xff08;ML-based&#xff09;规划基准测试 Abstract In this work, we propose the world’s first closed-loop ML-based planning benchmar…

【JavaScript】解决 JavaScript 语言报错:Uncaught ReferenceError: XYZ is not defined

文章目录 一、背景介绍常见场景 二、报错信息解析三、常见原因分析1. 变量未声明2. 拼写错误3. 块级作用域4. 使用未定义的函数或对象5. 代码执行顺序 四、解决方案与预防措施1. 确保变量已声明2. 检查拼写错误3. 注意块级作用域4. 定义和调用函数5. 正确的代码执行顺序 五、示…

tkinter-TinUI-xml实战(11)多功能TinUIxml编辑器

引言 在TinUIXml简易编辑器中&#xff0c;我们通过TinUI搭建了一个简易的针对TinUIXml布局的编辑器&#xff0c;基本掌握了TinUIXml布局和TinUIXml的导入与导出。现在&#xff0c;就在此基础上&#xff0c;对编辑器进行升级。 本次升级的功能&#xff1a; 更合理的xml编辑与…