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

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

一、漏洞描述

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

二、漏洞利用过程

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

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

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

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

Druid未授权漏洞进一步的利用
从扫描结果中发现目标存在Druid的访问链接,直接访问看看是否存在未授权访问漏洞的存在

/druid/index.html

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

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

/druid/weburi.html

该接口泄露了网站后台功能模块的url地址,大多数都是一些api接口,有时候也会泄露一些敏感文件信息
Druid未授权漏洞进一步的利用

/druid/websession.html

这里泄露的主要是登录用户的session,不管是登陆成功的、没登陆成功的,还是失效的都会储存在这里。
Druid未授权漏洞进一步的利用

2、深入利用

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

将页面泄露的所有的session组成一个字典
Druid未授权漏洞进一步的利用
然后从之前收集的URI泄露接口随便找了一个普通的接口去爆破,比如我这里用的是

/user/showList

这个链接很明显的是后台查看用户列表的功能点
Druid未授权漏洞进一步的利用

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

Druid未授权漏洞进一步的利用
可以看到这里爆破出了一个能够在正常使用的session值。接下来利用浏览器里面的cookie替换工具,将cookie替换成我们爆破成功的session值,然后再次访问该链接看看
Druid未授权漏洞进一步的利用

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

三、漏洞修复

要修复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未授权,大多数白帽子在做测试的时候都是当作一个低危的信息泄露来处理,但是其实如果利用条件都达成了,运气够好的话,造成的危害还是不小的。这也告诉我们以后碰到这种未授权漏洞,可以多收集一些信息,扩宽一下测试思路,说不定就能获得更大的收获。文章来源地址https://www.toymoban.com/news/detail-506588.html

到了这里,关于Druid未授权漏洞进一步的利用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 数据结构--并查集的进一步优化

    压缩路径 − − F i n d 操作,先找到根节点,再将查找路径上所有结点都挂到根结点下 color{red}压缩路径 -- Find操作,先找到根节点,再将查找路径上所有结点都挂到根结点下 压缩路径 − − F in d 操作,先找到根节点,再将查找路径上所有结点都挂到根结点下 每次Find操作,

    2024年02月15日
    浏览(49)
  • 进一步了解WPF UI 实现XAML语法

    Extensible Application Markup Language (XAML) 是一种用于声明性应用程序编程的标记语言。 Windows Presentation Foundation (WPF) 实现 XAML 处理器实现并提供 XAML 语言支持。 WPF 类型的实现为 XAML 表示提供了必要的类型支持,从而确保了顺畅的集成和高效的运行。 在 XAML 标记中创建 WPF 应用程序

    2024年02月02日
    浏览(35)
  • [架构之路-203] - 对系统需求类型的进一步澄清

    目录 业务/商业需求: 用户/客户需求: 功能性需求: 非功能性需求: 系统需求: 约束条件: 软件需求说明书: 软件质量: 是自顶向下的需求,往往来自于中高层管理人员(或监管、政策要求),基于业务运营管理的直接诉求和要求。需要使用商业/工作语言描述业务/商业

    2024年02月07日
    浏览(64)
  • GC 深入(小白,对gc有一个进一步的了解)

      一般这年轻代垃圾回收器,老年代垃圾回收器,如上图搭配着使用   1.8呢默认就是最后边那哥俩 有黑白灰三个颜色 最开始的颜色都是白色 刚找到这个对象的时候,把他标记成灰色,然后他的孩子级别的对象都找到时。 把他标记成黑色。他的孩子就是灰色了。 关于可达性

    2024年02月14日
    浏览(43)
  • iOS 微信、支付宝、银联支付组件的进一步设计

    原文地址:https://zhanglei.blog.csdn.net/article/details/121376500 有段时间没写技术文章了,一是因为工作太忙,再者因为本人文笔实在一般。最近终于闲下来,本着分享的目的将一些组件设计上的心得与大家分享。 本篇文章是基于原有一篇关于支付文章的进一步优化设计,所以在阅读

    2024年02月10日
    浏览(45)
  • 频数表和列联表,以及进一步处理分析 -- R

    数据框包含了一些分类变量,问? 操作频数表 vcdӉ中的assocstats()函数可以计算二维列联表的phi系数,列联系数,Cramer‘s V系数 总体来说,较大的数值意味着较强的相关性

    2024年01月19日
    浏览(52)
  • C++面向对象程序设计 - 类和对象进一步讨论

            在C++中,关于面向对象程序设计已经讲了很大篇幅,也例举很多案例,此篇将通过一些习题来进一步了解对象、静态成员、指针、引用、友元、类模板等等相关知识。         示例代码:         如上代码,运行后结果如下图:          现在将上述代码中,第

    2024年04月16日
    浏览(61)
  • 学习笔记---更进一步的双向链表专题~~

    目录 1. 双向链表的结构🦊 2. 实现双向链表🐝 2.1 要实现的目标🎯 2.2 创建+初始化🦋 2.2.1 List.h 2.2.2 List.c 2.2.3 test.c 2.2.4 代码测试运行 2.3 尾插+打印+头插🪼 思路分析 2.3.1 List.h 2.3.2 List.c 2.3.3 test.c 2.3.4 代码测试运行 2.4 尾删+头删🐊 2.4.0 思路分析 2.4.1 List.h 2.4.2 List.c 2.4.3 t

    2024年02月07日
    浏览(38)
  • pypdf 将 PDF两个页面拼接成一个页面进一步详解

    pypdf 原库名Pypdf2(已弃用,文档 PyPDF2 RectangleObject类_w3cschool) pypdf 官方文档 The Transformation Class — pypdf 3.17.4 documentation pypdf 将两个PDF页面在x轴,y轴进行平移调整位置之后,直接用merge_page拼接在一起,或者PageObject.create_blank_page 先创建一个空白页面,再将两个页面添加到空白页

    2024年01月24日
    浏览(40)
  • 数据库ChatGPT插件来了,SQL使用体验进一步起飞

    基于 ChatGPT API 和 OpenMLDB 数据库实现的 openmldb-chatgpt-plugin 项目开源了,作为人类迄今为止最强AI模型之一(GPT4未开放API),集成了 ChatGPT 模型的数据库有多好用,下面将带大家体验一下。 实现原理是在ChatGPT API基础上做了一定的 Prompt engineering ,没有用 fine tune ,在标准SQL场景

    2023年04月16日
    浏览(58)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包