Druid未授权漏洞进一步的利用

news2024/11/30 6:40:18

一、漏洞描述

Druid是阿里巴巴数据库出品的为监控而生的数据库连接池。并且Druid提供的监控功能包括监控SQL的执行时间、监控Web URI的请求、Session监控等。Druid本身是不存在什么漏洞的,但当开发者配置不当时就可能造成未授权访问。本文除了介绍Druid未授权漏洞之外,还要讲的是一种该漏洞深入利用扩大战果的思路和方法。

二、漏洞利用过程

系统首页地址及页面显示如下

http://xx.xx.xx/user/login

在这里插入图片描述
首先在针对目标进行渗透测试的过程中,发现HTTP请求异常的说明页显示如下
在这里插入图片描述
Whitelabel Error Page(也叫白页),是SpringBoot中HTTP请求出现异常的说明页,白页内容会展示状态码、path、以及错误原因等情况,但是真正发布在线上生成环境一般不允许出现这样的情况,更多的是自定义的404页面或者500页面等。

既然清楚了目标使用的是spring boot框架,那么先用扫描器扫一下目录看看

在这里插入图片描述
从扫描结果中发现目标存在Druid的访问链接,直接访问看看是否存在未授权访问漏洞的存在

/druid/index.html

在这里插入图片描述
从页面响应来看确实是存在未授权访问漏洞的。如果到此为止的话,我们顶多只有一个中低危的漏洞,想要扩大影响和进一步的进行测试,就需要用到下面的思路了。

1、先通过未授权访问收集一下服务器的相关信息

/druid/weburi.html

该接口泄露了网站后台功能模块的url地址,大多数都是一些api接口,有时候也会泄露一些敏感文件信息
在这里插入图片描述

/druid/websession.html

这里泄露的主要是登录用户的session,不管是登陆成功的、没登陆成功的,还是失效的都会储存在这里。
在这里插入图片描述

2、深入利用

如果我们利用泄露的session进行url爆破,可能就能将该漏洞的性质从低危转向高危,具体操作步骤如下:

将页面泄露的所有的session组成一个字典
在这里插入图片描述
然后从之前收集的URI泄露接口随便找了一个普通的接口去爆破,比如我这里用的是

/user/showList

这个链接很明显的是后台查看用户列表的功能点
在这里插入图片描述

可以看到如果session失效会302跳转到系统的登陆页,因此我们这里主要就是爆破出还能够正常使用的session值。如果session没失效的话状态码应该会是200并返回一些数据信息。

在这里插入图片描述
可以看到这里爆破出了一个能够在正常使用的session值。接下来利用浏览器里面的cookie替换工具,将cookie替换成我们爆破成功的session值,然后再次访问该链接看看
在这里插入图片描述

在这里插入图片描述不过这个功能点貌似返回的内容有点少,那么直接访问刚才收集的后台首页地址index
在这里插入图片描述
到这里我们已经从未授权访问漏洞拿到了系统后台管理权限了。

三、漏洞修复

要修复Druid未授权漏洞需要修改中间件的配置springboot的配置


spring:
  datasource:
    druid:
      max-active: 10
      min-idle: 1
      stat-view-servlet:
        # 是否启用StatViewServlet(监控页面),默认true-启动,false-不启动
        enabled: true
        # 禁用HTML页面上的"Reset All"功能
        reset-enable: false
        # 设置账户名称(增加登录权限)
        login-username: xxxx
        # 设置账户密码
        login-password: xxxxxxxx
        # IP白名单(没有配置或者为空,则允许所有访问)
        allow: 127.0.0.1
        # IP黑名单(存在共同时,deny优先于allow)
        deny: 10.0.0.1
        # 自定义druid连接
        url-pattern: '/druid/*'

这里主要有两种方法:方法1:设置StatViewServlet(监控页面)为 false方法2:给druid的web页面设置账户密码,增加访问druid的权限。

这里推荐使用方法2,毕竟通过自定义账户密码,在鉴权后还是能去druid里面查看监控信息的。

四、总结和思考

对于druid未授权,大多数白帽子在做测试的时候都是当作一个低危的信息泄露来处理,但是其实如果利用条件都达成了,运气够好的话,造成的危害还是不小的。这也告诉我们以后碰到这种未授权漏洞,可以多收集一些信息,扩宽一下测试思路,说不定就能获得更大的收获。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

js 使用正则获取 html中 所有span标签

let html <p>艾迪莎测试但大家还是</p><h1>你好啊</h1><p>啊是多久啊合适的<span style"text-decoration: underline;">静安寺</span>大家哈圣诞节<span style"text-decoration: underline;">哈桑</s…

企业需要专业电子邮件地址的4大原因

专业的企业电子邮件地址具有贵公司的自定义域名&#xff0c;而不是通用的Zoho Mail 、gmail或yahoo帐户&#xff0c;例如&#xff1a;john stargardening.com 大多数初学者使用不带域名的通用免费企业电子邮件帐户&#xff0c;这不是很专业。例如&#xff1a;zhangsan2022zoho.…

从零开始Vue3+Element Plus后台管理系统(六)——状态管理Pinia和持久化

Pinia 官网&#xff1a;https://pinia.vuejs.org/zh/ Pinia 是 Vue 的专属状态管理库&#xff0c;相比Vuex更好用&#xff0c;优点不多了说官网有&#xff0c;用起来最重要&#xff01; 在应用的根部注入创建的 pinia // main.ts import { createApp } from vue import { c…

CLMP证书:让你在职场中脱颖而出的秘密武器!

CLMP证书是一种精益管理专业证书&#xff0c;是针对精益管理领域的专业人士和学生的培训项目&#xff0c;旨在提高他们在精益管理方面的技能和知识。那么&#xff0c;CLMP证书的含金量高吗&#xff1f;接下来我们来探讨一下。 CLMP证书的优势体现 首先&#xff0c;CLMP证书的…

Android Jetpack Compose之使用脚手架快速搭建APP布局结构

概述 现在市场上大多数的手机APP的通用布局结构都是顶部有个顶部导航栏&#xff0c;底部有个底部导航栏&#xff0c;例如抖音的布局结构&#xff1a; 点击导航栏里面的各个项又可以跳转到相应的页面&#xff0c;现在这种结构特别流行&#xff0c;如果我们使用传统的View来实现…

Web自动化测试-如何进行Selenium页面数据及元素交互?教你一步不漏。

目录 前言&#xff1a; 一、Selenium简介 二、安装Selenium 1.Windows用户安装Selenium 2.安装Chrome浏览器驱动 三、使用Selenium进行页面数据及元素交互 1.启动浏览器 2.访问网页 3.查找元素 4.输入文本 5.点击按钮 6.提交表单 四、完整代码示例 五、总结 Web自…

(MIT6.045)自动机、可计算性和复杂性-DFA和NFA

毕业论文写完了。找点事干干。 佛系更新。 这是一门讲述 什么是计算&#xff1f;什么能被计算&#xff1f;怎么高效计算&#xff1f; 的哲学、数学和工程问题的课程。 主要包括&#xff1a; 有限状态机&#xff08;Finite Avtomata&#xff09;&#xff1a;简单的模型。 可…

【OpenCV-Python】——机器学习kNN算法SVM算法k均值聚类算法深度学习图像识别对象检测

目录 前言&#xff1a; 1、机器学习 1.1 kNN算法 1.2 SVM算法&#xff08;支持向量机&#xff09; 1.3 k均值聚类算法 2、深度学习 2.1 基于深度学习的图像识别 2.2 基于深度学习的对象检测 总结&#xff1a; 前言&#xff1a; 机器学习&#xff08;ML&#xff09;是人…

Linux-权限

1. 认识Linux下用户的分类 root普通用户1.1用户切换 普通用户 转 root su //当前路径切换rootsu - //重新登陆到/root退出 crtl d / exit root 转 普通用户 不需要输入密码 su 用户名退出 ctrl d 1. 2 指令暂时提权 sudo command目前我们用adduser新建的用户&#xff0…

100个软件开发领域必须掌握的关键词,掌握一个都难啊

需要完整xmind文件&#xff0c;私信获取 100个软件开发领域必须掌握的关键词 基础编程语言 JavaPythonC#JavaScriptPHPRubyCObjective-CSwiftKotlin Web 开发 HTMLCSSJavaScriptReactAngularVue.jsjQueryBootstrapNode.jsExpress.js 移动应用开发 AndroidiOSFlutterRea…

100万数据,如何快速的导入数据库?

数据导出、导入是非常常见的开发操作&#xff0c;但在这个过程中&#xff0c;很多开发者都会遇到诸如数据乱码、数据格式不支持、数据量太大等问题。NineData 最新发布的数据导入功能&#xff0c;帮助用户在保障数据完整和准确的同时&#xff0c;轻松地将大量的数据从文件中导入…

利用项目管理工具实现项目日程安排:技巧与步骤详解

到 2022 年&#xff0c;我们可能会发现自己在思考过去的生活&#xff0c;以及我们的工作常规是否会回到原来的样子。我们中的一些人觉得我们过去常常完成更多的工作&#xff0c;而且我们中的许多人都在努力保持精神健康&#xff0c;同时保持工作效率。平衡我们的工作生活和个人…

深兰科技|功能迭代!metamind APP发布v1.2版本

以目前AI的技术水平&#xff0c;只要样本足够多&#xff0c;模仿一个人的面容、声音、语气&#xff0c;可以达到相似度90%以上。假设未来科技足够发达&#xff0c;能够通过记录一个人一生的数据来“复活”他&#xff0c;你会怎么选择&#xff1f;而如果你没有足够多的属于自己的…

如何利用python调用API接口获取数据进行测试

一、Python 可以使用 requests 库来调用 API 接口获取数据。以下是基本的步骤&#xff1a; 1.安装 requests 库 pip install requests 2.导入 requests 库 import requests 3.构建 API 请求的 URL 根据 API 文档&#xff0c;构建请求的URL。 例如&#xff0c; https://a…

C++——STL之空间配置器

文章目录 1. 什么是空间配置器2. 为什么需要空间配置器3. SGI-STL空间配置器实现原理3.1 一级空间配置器3.2 二级空间配置器3.2.1 内存池 3.3 空间配置器的再次封装3.4 对象的构造与释放 4. 与容器结合 1. 什么是空间配置器 空间配置器&#xff0c;顾名思义就是为各个容器高效…

深入了解Kotlin密封接口的强大功能

深入了解Kotlin密封接口的强大功能 当 Kotlin 首次引入时&#xff0c;开发者迅速爱上了它的强大语言特性&#xff0c;其中包括密封类。然而&#xff0c;有一件事似乎还缺失了&#xff1a;密封接口。当时&#xff0c;Kotlin 编译器无法保证在 Java 代码中无法实现接口&#xff0…

Dart 3.0 语法新特性 | Records 记录类型 (元组)

theme: cyanosis 终于&#xff0c;终于&#xff0c;终于&#xff0c; Dart 支持元组了&#xff01; 官方称之为 Records 特性&#xff0c;所以入乡随俗&#xff0c;以后中文称之为 记录类型 。官方 对它的介绍 是: Records are an anonymous, immutable, aggregate type. 记录…

I3C仿真:PGY I3C-EX-PD使用

简述 本文所使用的I3C仿真软件是由Prodigy Technovations Pvt. Ltd公司所研发的MIPI PGY-I3C-EX-PD I3C仿真设备&#xff0c;这款设备搭载了配套软件&#xff0c;专门用于模拟I3C设备&#xff0c;它可以实现模拟Master、SLAVE&#xff0c;同时也支持模拟I2C Slave&#xff0c…

sklearn中的特征工程(过滤法、嵌入法和包装法)

目录 ​编辑特征工程的第一步&#xff1a;理解业务 Filter过滤法 ​编辑方差过滤 ​编辑- 相关性过滤 - 卡方过滤 - F检验 - 互信息法 ​编辑嵌入法&#xff08;Embedded&#xff09; 包装法&#xff08;Wrapper&#xff09; 特征工程的第一步&#xff1a;理解业务 如…

公司大数据CDH技术选型升级为EMR集群的技术调研

大数据技术栈现状 大数据技术整体设计图 当前大数据各组件版本 ZooKeeper 3.4.5 Spark 2.4.0 Hue 4.3.0 Hive 2.1.1 Hbase 2.1.4 Hadoop 3.0.0 Kafka 2.2.1 Phoenix 5.0.0-cdh6.2.0 Dolphinscheduler 3.0.0 Yarn 3.0.0-cdh6.3.2 Logstash 7.7.0 Kibana 7.7.0 Elasticsearch 7…