Druid未授权访问利用

本文章仅用于交流学习,由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任

引言~

最近挖SRC经常遇到Druid未授权访问漏洞,觉得过程比较有趣,所以简单记录一下


Druid简介

druid是阿里研发的一款数据库连接池,其开发语言为java,druid集合了c3p0、dbcp、proxool等连接池的优点,还加入了日志监控、session监控等数据监控功能,使用Druid能有效的监控DB池连接和SQL的执行情况。

更多信息可参考官方GitHub项目:https://github.com/alibaba/druid

druid虽高效好用,但当开发者配置不当时就可能造成未授权访问,攻击者可利用泄露的Session登录后台


Druid未授权访问路径

怎么探寻Druid未授权访问呢?可以直接拼接以下路径进行访问,如果页面存在,即为Druid未授权访问

html:
ip/druid/index.html 		 	##Druid Index
ip/druid/sql.html				##Druid sql监控页面
ip/druid/weburi.html			##Druid Web URI监控页面
ip/druid/websession.html		##Druid Web Session监控页面

json:
ip/druid/weburi.json			##Druid Web URI json
ip/druid/websession.json		##Druid Web Session json

Druid 登录接口:
ip/druid/login.html				##Druid登录认证页面

当一级目录不存在时,可尝试拼接二级目录进行访问

也可利用谷歌语法或目录扫描工具进行探测:

site:xx.com intitle:Druid Stat Index

Druid未授权访问利用_第1张图片


提取session

访问ip/druid/weburi.html看到以下页面则证明漏洞可被利用,如果url和session页面都为空,则说明这两项druid并不管理

Druid未授权访问利用_第2张图片

当/druid/websession.html页面存在数据时,我们可利用该页面的session伪造登录,点击最后访问时间,然后复制一条离现在时间最为接近的session进行伪造登录;之所以要点击最后访问时间排序session,是因为此处记录的Session并非全部都是用户在线时的session,当用户退出系统时,session虽然还存在,但已失效,无法再利用。

也可利用py提取session然后结合burp的Intruder模块批量遍历高权限用户,session地址可参考上面给出的链接

Druid未授权访问利用_第3张图片

如果我们并不清楚后台的位置,我们可再把脚本改一下,利用url监控处为我们提供清晰的站点目录架构

Druid未授权访问利用_第4张图片

ok,得到后台地址,接下来我们访问一下

Druid未授权访问利用_第5张图片


重新刷新一下页面,然后开启burp进行抓包,抓包过程中发现站点cookie值存在session字段,点击最后访问时间排序一下session,随后复制session过来访问一下

Druid未授权访问利用_第6张图片

毫无意外,成功进去,但是权限不高,看来还是得开启神奇的Intruder模块,爆破结果如下

Druid未授权访问利用_第7张图片

根据返回包信息看哪条session权限高就用它伪造登录

注:除session伪造外,url监控和sql监控也能为我们开拓攻击的思路,当我们遇到一个注入且不清楚其语法结构时,查看sql监控处有可能会得到,此外,url监控处也为我们提供了较为清晰的站点目录架构


session伪造进后台

之后就是替换cookie值伪造登录了,f12改一下session值即可

Druid未授权访问利用_第8张图片


结语

druid作为数据源的一名后起之秀,凭借其出色的性能,渐渐被大家使用。当然还有他的监控页面也有这非常大的作用。但是监控页面往往包含了很多隐私的数据信息,所以需要将其保密,可以为监控页面添加一个用户名和密码,确保其安全性

你可能感兴趣的:(随笔,Druid未授权漏洞)