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未授权,大多数白帽子在做测试的时候都是当作一个低危的信息泄露来处理,但是其实如果利用条件都达成了,运气够好的话,造成的危害还是不小的。这也告诉我们以后碰到这种未授权漏洞,可以多收集一些信息,扩宽一下测试思路,说不定就能获得更大的收获。 Druid是一款前端界面非常友好的数据库连接池,它可以实现监控数据源、连接池、SQL执行情况等,由于Druid的设置里面带有后台管理页面,而该页面默认是不需要登录即可访问从而造成了未授权访问的漏洞,对于该漏洞,攻击者可以通过该页面直接操作数据库,甚至可以获取权限进而控制整个数据库。 需要明确: Druid本身是不存在漏洞的,Druid未授权访问是因为开发者配置的不够全面,导致攻击者输入ip/druid/index.html即可直接即可登录到Druid监控界面,这就是所谓未授权,即可访问。修复风险: 修改配置文件需要重启业务,可能影响业务正常运行 建议 优先考虑使用1,其余方案为临时解决方案 请在测试环境试验后,再对生产环境进行修复。为了彻底避免未授权访问风险,如果不需要使用或者很少使用Druid的监控功能,可以尝试彻底禁用Druid监控页,这种做法比较简单粗暴,有利有弊。 这次是跟着厉害的师傅学习的,然后自己在网上找了比较多的教程,先是在本地搭建的Druid靶场,然后自己打了一遍。其实以前我也是经常会打VulnHub靶场的,也是碰到过的,像Druid框架的网站的话,要是碰到先试试弱口令,然后再试试常见的接口未授权漏洞,后面再打打其他的nday。 Druid是一个高效的数据查询系统,主要解决的是对于大量的基于时序的数据进行聚合查询。通常是基于时序的事实事件,事实发生后进入Druid,外部系统就可以对该事实进行查询。为了彻底避免未授权访问风险,如果不需要使用或者很少使用Druid的监控功能,可以尝试彻底禁用Druid监控页,这种做法比较简单粗暴,有利有弊。Druid是一个分布式数据分析平台,也是一个时序数据库,也是一个集群系统,使用zookeeper做节点管理和事件监控。(2)可能影响使用习惯,可能影响工作的开展,降低Druid管理的便利性。 Alibaba Druid 默认情况下未设置访问控制,攻击者可以登录以获取敏感信息。druid作为数据库连接池,默认配置监控页存在漏洞,可以通过直接通过GET /druid/index.html 直接访问,存在数据库数据泄露的风险。...... 证明漏洞存在,泄露了网站后台功能模块的url地址,大多数都是一些api接口,有时候也会泄露一些敏感文件。这里泄露的主要是登录用户的session,不管是登陆成功的,没登陆成功的,还是失效的都会储存在这里。是阿里巴巴数据库出品的,为监控而生的数据库连接池,并且Druid提供的监控功能,监控SQL的执行时间、监控Web URI的请求、Session监控,首先Druid是不存在什么漏洞的。但当开发者配置不当时就可能造成未授权访问。4.利用session,替换cookie,绕过登录验证,成功登录。 Druid是阿里巴巴数据库出品的,为监控而生的数据库连接池,并且Druid提供的监控功能,监控SQL的执行时间、监控Web URI的请求、Session监控。当开发者配置不当时就可能造成未授权访问,暴露Druid的监控界面,获得敏感信息。
http://xx.xx.xx/user/login 首先在针对目标进行渗透测试的过程中,发现HTTP请求异常的说明页显示如下 Whitelabel Error Page(也叫白页),是SpringBoot中HTTP请求出现异常的说明页,白页内容会展示状态码、path、以及错误原因等情况,但是真正发布在线上生成环境一般不允许出现这样的情况,更多的是自定义的404页面或者500页面等。 既然清楚了目标使用的是spring boot框架,那么先用扫描器扫一下目录看看 从扫描结果中发现目标存在Druid的访问链接,直接访问看看是否存在未授权访问漏洞的存在
首先在针对目标进行渗透测试的过程中,发现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未授权,大多数白帽子在做测试的时候都是当作一个低危的信息泄露来处理,但是其实如果利用条件都达成了,运气够好的话,造成的危害还是不小的。这也告诉我们以后碰到这种未授权漏洞,可以多收集一些信息,扩宽一下测试思路,说不定就能获得更大的收获。 Druid是一款前端界面非常友好的数据库连接池,它可以实现监控数据源、连接池、SQL执行情况等,由于Druid的设置里面带有后台管理页面,而该页面默认是不需要登录即可访问从而造成了未授权访问的漏洞,对于该漏洞,攻击者可以通过该页面直接操作数据库,甚至可以获取权限进而控制整个数据库。 需要明确: Druid本身是不存在漏洞的,Druid未授权访问是因为开发者配置的不够全面,导致攻击者输入ip/druid/index.html即可直接即可登录到Druid监控界面,这就是所谓未授权,即可访问。修复风险: 修改配置文件需要重启业务,可能影响业务正常运行 建议 优先考虑使用1,其余方案为临时解决方案 请在测试环境试验后,再对生产环境进行修复。为了彻底避免未授权访问风险,如果不需要使用或者很少使用Druid的监控功能,可以尝试彻底禁用Druid监控页,这种做法比较简单粗暴,有利有弊。 这次是跟着厉害的师傅学习的,然后自己在网上找了比较多的教程,先是在本地搭建的Druid靶场,然后自己打了一遍。其实以前我也是经常会打VulnHub靶场的,也是碰到过的,像Druid框架的网站的话,要是碰到先试试弱口令,然后再试试常见的接口未授权漏洞,后面再打打其他的nday。 Druid是一个高效的数据查询系统,主要解决的是对于大量的基于时序的数据进行聚合查询。通常是基于时序的事实事件,事实发生后进入Druid,外部系统就可以对该事实进行查询。为了彻底避免未授权访问风险,如果不需要使用或者很少使用Druid的监控功能,可以尝试彻底禁用Druid监控页,这种做法比较简单粗暴,有利有弊。Druid是一个分布式数据分析平台,也是一个时序数据库,也是一个集群系统,使用zookeeper做节点管理和事件监控。(2)可能影响使用习惯,可能影响工作的开展,降低Druid管理的便利性。 Alibaba Druid 默认情况下未设置访问控制,攻击者可以登录以获取敏感信息。druid作为数据库连接池,默认配置监控页存在漏洞,可以通过直接通过GET /druid/index.html 直接访问,存在数据库数据泄露的风险。...... 证明漏洞存在,泄露了网站后台功能模块的url地址,大多数都是一些api接口,有时候也会泄露一些敏感文件。这里泄露的主要是登录用户的session,不管是登陆成功的,没登陆成功的,还是失效的都会储存在这里。是阿里巴巴数据库出品的,为监控而生的数据库连接池,并且Druid提供的监控功能,监控SQL的执行时间、监控Web URI的请求、Session监控,首先Druid是不存在什么漏洞的。但当开发者配置不当时就可能造成未授权访问。4.利用session,替换cookie,绕过登录验证,成功登录。 Druid是阿里巴巴数据库出品的,为监控而生的数据库连接池,并且Druid提供的监控功能,监控SQL的执行时间、监控Web URI的请求、Session监控。当开发者配置不当时就可能造成未授权访问,暴露Druid的监控界面,获得敏感信息。
/druid/index.html 从页面响应来看确实是存在未授权访问漏洞的。如果到此为止的话,我们顶多只有一个中低危的漏洞,想要扩大影响和进一步的进行测试,就需要用到下面的思路了。 1、先通过未授权访问收集一下服务器的相关信息
从页面响应来看确实是存在未授权访问漏洞的。如果到此为止的话,我们顶多只有一个中低危的漏洞,想要扩大影响和进一步的进行测试,就需要用到下面的思路了。
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未授权,大多数白帽子在做测试的时候都是当作一个低危的信息泄露来处理,但是其实如果利用条件都达成了,运气够好的话,造成的危害还是不小的。这也告诉我们以后碰到这种未授权漏洞,可以多收集一些信息,扩宽一下测试思路,说不定就能获得更大的收获。 Druid是一款前端界面非常友好的数据库连接池,它可以实现监控数据源、连接池、SQL执行情况等,由于Druid的设置里面带有后台管理页面,而该页面默认是不需要登录即可访问从而造成了未授权访问的漏洞,对于该漏洞,攻击者可以通过该页面直接操作数据库,甚至可以获取权限进而控制整个数据库。 需要明确: Druid本身是不存在漏洞的,Druid未授权访问是因为开发者配置的不够全面,导致攻击者输入ip/druid/index.html即可直接即可登录到Druid监控界面,这就是所谓未授权,即可访问。修复风险: 修改配置文件需要重启业务,可能影响业务正常运行 建议 优先考虑使用1,其余方案为临时解决方案 请在测试环境试验后,再对生产环境进行修复。为了彻底避免未授权访问风险,如果不需要使用或者很少使用Druid的监控功能,可以尝试彻底禁用Druid监控页,这种做法比较简单粗暴,有利有弊。 这次是跟着厉害的师傅学习的,然后自己在网上找了比较多的教程,先是在本地搭建的Druid靶场,然后自己打了一遍。其实以前我也是经常会打VulnHub靶场的,也是碰到过的,像Druid框架的网站的话,要是碰到先试试弱口令,然后再试试常见的接口未授权漏洞,后面再打打其他的nday。 Druid是一个高效的数据查询系统,主要解决的是对于大量的基于时序的数据进行聚合查询。通常是基于时序的事实事件,事实发生后进入Druid,外部系统就可以对该事实进行查询。为了彻底避免未授权访问风险,如果不需要使用或者很少使用Druid的监控功能,可以尝试彻底禁用Druid监控页,这种做法比较简单粗暴,有利有弊。Druid是一个分布式数据分析平台,也是一个时序数据库,也是一个集群系统,使用zookeeper做节点管理和事件监控。(2)可能影响使用习惯,可能影响工作的开展,降低Druid管理的便利性。 Alibaba Druid 默认情况下未设置访问控制,攻击者可以登录以获取敏感信息。druid作为数据库连接池,默认配置监控页存在漏洞,可以通过直接通过GET /druid/index.html 直接访问,存在数据库数据泄露的风险。...... 证明漏洞存在,泄露了网站后台功能模块的url地址,大多数都是一些api接口,有时候也会泄露一些敏感文件。这里泄露的主要是登录用户的session,不管是登陆成功的,没登陆成功的,还是失效的都会储存在这里。是阿里巴巴数据库出品的,为监控而生的数据库连接池,并且Druid提供的监控功能,监控SQL的执行时间、监控Web URI的请求、Session监控,首先Druid是不存在什么漏洞的。但当开发者配置不当时就可能造成未授权访问。4.利用session,替换cookie,绕过登录验证,成功登录。 Druid是阿里巴巴数据库出品的,为监控而生的数据库连接池,并且Druid提供的监控功能,监控SQL的执行时间、监控Web URI的请求、Session监控。当开发者配置不当时就可能造成未授权访问,暴露Druid的监控界面,获得敏感信息。
/druid/weburi.html 该接口泄露了网站后台功能模块的url地址,大多数都是一些api接口,有时候也会泄露一些敏感文件信息
该接口泄露了网站后台功能模块的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未授权,大多数白帽子在做测试的时候都是当作一个低危的信息泄露来处理,但是其实如果利用条件都达成了,运气够好的话,造成的危害还是不小的。这也告诉我们以后碰到这种未授权漏洞,可以多收集一些信息,扩宽一下测试思路,说不定就能获得更大的收获。 Druid是一款前端界面非常友好的数据库连接池,它可以实现监控数据源、连接池、SQL执行情况等,由于Druid的设置里面带有后台管理页面,而该页面默认是不需要登录即可访问从而造成了未授权访问的漏洞,对于该漏洞,攻击者可以通过该页面直接操作数据库,甚至可以获取权限进而控制整个数据库。 需要明确: Druid本身是不存在漏洞的,Druid未授权访问是因为开发者配置的不够全面,导致攻击者输入ip/druid/index.html即可直接即可登录到Druid监控界面,这就是所谓未授权,即可访问。修复风险: 修改配置文件需要重启业务,可能影响业务正常运行 建议 优先考虑使用1,其余方案为临时解决方案 请在测试环境试验后,再对生产环境进行修复。为了彻底避免未授权访问风险,如果不需要使用或者很少使用Druid的监控功能,可以尝试彻底禁用Druid监控页,这种做法比较简单粗暴,有利有弊。 这次是跟着厉害的师傅学习的,然后自己在网上找了比较多的教程,先是在本地搭建的Druid靶场,然后自己打了一遍。其实以前我也是经常会打VulnHub靶场的,也是碰到过的,像Druid框架的网站的话,要是碰到先试试弱口令,然后再试试常见的接口未授权漏洞,后面再打打其他的nday。 Druid是一个高效的数据查询系统,主要解决的是对于大量的基于时序的数据进行聚合查询。通常是基于时序的事实事件,事实发生后进入Druid,外部系统就可以对该事实进行查询。为了彻底避免未授权访问风险,如果不需要使用或者很少使用Druid的监控功能,可以尝试彻底禁用Druid监控页,这种做法比较简单粗暴,有利有弊。Druid是一个分布式数据分析平台,也是一个时序数据库,也是一个集群系统,使用zookeeper做节点管理和事件监控。(2)可能影响使用习惯,可能影响工作的开展,降低Druid管理的便利性。 Alibaba Druid 默认情况下未设置访问控制,攻击者可以登录以获取敏感信息。druid作为数据库连接池,默认配置监控页存在漏洞,可以通过直接通过GET /druid/index.html 直接访问,存在数据库数据泄露的风险。...... 证明漏洞存在,泄露了网站后台功能模块的url地址,大多数都是一些api接口,有时候也会泄露一些敏感文件。这里泄露的主要是登录用户的session,不管是登陆成功的,没登陆成功的,还是失效的都会储存在这里。是阿里巴巴数据库出品的,为监控而生的数据库连接池,并且Druid提供的监控功能,监控SQL的执行时间、监控Web URI的请求、Session监控,首先Druid是不存在什么漏洞的。但当开发者配置不当时就可能造成未授权访问。4.利用session,替换cookie,绕过登录验证,成功登录。 Druid是阿里巴巴数据库出品的,为监控而生的数据库连接池,并且Druid提供的监控功能,监控SQL的执行时间、监控Web URI的请求、Session监控。当开发者配置不当时就可能造成未授权访问,暴露Druid的监控界面,获得敏感信息。
/druid/websession.html 这里泄露的主要是登录用户的session,不管是登陆成功的、没登陆成功的,还是失效的都会储存在这里。 2、深入利用 如果我们利用泄露的session进行url爆破,可能就能将该漏洞的性质从低危转向高危,具体操作步骤如下: 将页面泄露的所有的session组成一个字典 然后从之前收集的URI泄露接口随便找了一个普通的接口去爆破,比如我这里用的是
这里泄露的主要是登录用户的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未授权,大多数白帽子在做测试的时候都是当作一个低危的信息泄露来处理,但是其实如果利用条件都达成了,运气够好的话,造成的危害还是不小的。这也告诉我们以后碰到这种未授权漏洞,可以多收集一些信息,扩宽一下测试思路,说不定就能获得更大的收获。 Druid是一款前端界面非常友好的数据库连接池,它可以实现监控数据源、连接池、SQL执行情况等,由于Druid的设置里面带有后台管理页面,而该页面默认是不需要登录即可访问从而造成了未授权访问的漏洞,对于该漏洞,攻击者可以通过该页面直接操作数据库,甚至可以获取权限进而控制整个数据库。 需要明确: Druid本身是不存在漏洞的,Druid未授权访问是因为开发者配置的不够全面,导致攻击者输入ip/druid/index.html即可直接即可登录到Druid监控界面,这就是所谓未授权,即可访问。修复风险: 修改配置文件需要重启业务,可能影响业务正常运行 建议 优先考虑使用1,其余方案为临时解决方案 请在测试环境试验后,再对生产环境进行修复。为了彻底避免未授权访问风险,如果不需要使用或者很少使用Druid的监控功能,可以尝试彻底禁用Druid监控页,这种做法比较简单粗暴,有利有弊。 这次是跟着厉害的师傅学习的,然后自己在网上找了比较多的教程,先是在本地搭建的Druid靶场,然后自己打了一遍。其实以前我也是经常会打VulnHub靶场的,也是碰到过的,像Druid框架的网站的话,要是碰到先试试弱口令,然后再试试常见的接口未授权漏洞,后面再打打其他的nday。 Druid是一个高效的数据查询系统,主要解决的是对于大量的基于时序的数据进行聚合查询。通常是基于时序的事实事件,事实发生后进入Druid,外部系统就可以对该事实进行查询。为了彻底避免未授权访问风险,如果不需要使用或者很少使用Druid的监控功能,可以尝试彻底禁用Druid监控页,这种做法比较简单粗暴,有利有弊。Druid是一个分布式数据分析平台,也是一个时序数据库,也是一个集群系统,使用zookeeper做节点管理和事件监控。(2)可能影响使用习惯,可能影响工作的开展,降低Druid管理的便利性。 Alibaba Druid 默认情况下未设置访问控制,攻击者可以登录以获取敏感信息。druid作为数据库连接池,默认配置监控页存在漏洞,可以通过直接通过GET /druid/index.html 直接访问,存在数据库数据泄露的风险。...... 证明漏洞存在,泄露了网站后台功能模块的url地址,大多数都是一些api接口,有时候也会泄露一些敏感文件。这里泄露的主要是登录用户的session,不管是登陆成功的,没登陆成功的,还是失效的都会储存在这里。是阿里巴巴数据库出品的,为监控而生的数据库连接池,并且Druid提供的监控功能,监控SQL的执行时间、监控Web URI的请求、Session监控,首先Druid是不存在什么漏洞的。但当开发者配置不当时就可能造成未授权访问。4.利用session,替换cookie,绕过登录验证,成功登录。 Druid是阿里巴巴数据库出品的,为监控而生的数据库连接池,并且Druid提供的监控功能,监控SQL的执行时间、监控Web URI的请求、Session监控。当开发者配置不当时就可能造成未授权访问,暴露Druid的监控界面,获得敏感信息。
/user/showList 这个链接很明显的是后台查看用户列表的功能点 可以看到如果session失效会302跳转到系统的登陆页,因此我们这里主要就是爆破出还能够正常使用的session值。如果session没失效的话状态码应该会是200并返回一些数据信息。 可以看到这里爆破出了一个能够在正常使用的session值。接下来利用浏览器里面的cookie替换工具,将cookie替换成我们爆破成功的session值,然后再次访问该链接看看 不过这个功能点貌似返回的内容有点少,那么直接访问刚才收集的后台首页地址index 到这里我们已经从未授权访问漏洞拿到了系统后台管理权限了。
这个链接很明显的是后台查看用户列表的功能点
可以看到如果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未授权,大多数白帽子在做测试的时候都是当作一个低危的信息泄露来处理,但是其实如果利用条件都达成了,运气够好的话,造成的危害还是不小的。这也告诉我们以后碰到这种未授权漏洞,可以多收集一些信息,扩宽一下测试思路,说不定就能获得更大的收获。 Druid是一款前端界面非常友好的数据库连接池,它可以实现监控数据源、连接池、SQL执行情况等,由于Druid的设置里面带有后台管理页面,而该页面默认是不需要登录即可访问从而造成了未授权访问的漏洞,对于该漏洞,攻击者可以通过该页面直接操作数据库,甚至可以获取权限进而控制整个数据库。 需要明确: Druid本身是不存在漏洞的,Druid未授权访问是因为开发者配置的不够全面,导致攻击者输入ip/druid/index.html即可直接即可登录到Druid监控界面,这就是所谓未授权,即可访问。修复风险: 修改配置文件需要重启业务,可能影响业务正常运行 建议 优先考虑使用1,其余方案为临时解决方案 请在测试环境试验后,再对生产环境进行修复。为了彻底避免未授权访问风险,如果不需要使用或者很少使用Druid的监控功能,可以尝试彻底禁用Druid监控页,这种做法比较简单粗暴,有利有弊。 这次是跟着厉害的师傅学习的,然后自己在网上找了比较多的教程,先是在本地搭建的Druid靶场,然后自己打了一遍。其实以前我也是经常会打VulnHub靶场的,也是碰到过的,像Druid框架的网站的话,要是碰到先试试弱口令,然后再试试常见的接口未授权漏洞,后面再打打其他的nday。 Druid是一个高效的数据查询系统,主要解决的是对于大量的基于时序的数据进行聚合查询。通常是基于时序的事实事件,事实发生后进入Druid,外部系统就可以对该事实进行查询。为了彻底避免未授权访问风险,如果不需要使用或者很少使用Druid的监控功能,可以尝试彻底禁用Druid监控页,这种做法比较简单粗暴,有利有弊。Druid是一个分布式数据分析平台,也是一个时序数据库,也是一个集群系统,使用zookeeper做节点管理和事件监控。(2)可能影响使用习惯,可能影响工作的开展,降低Druid管理的便利性。 Alibaba Druid 默认情况下未设置访问控制,攻击者可以登录以获取敏感信息。druid作为数据库连接池,默认配置监控页存在漏洞,可以通过直接通过GET /druid/index.html 直接访问,存在数据库数据泄露的风险。...... 证明漏洞存在,泄露了网站后台功能模块的url地址,大多数都是一些api接口,有时候也会泄露一些敏感文件。这里泄露的主要是登录用户的session,不管是登陆成功的,没登陆成功的,还是失效的都会储存在这里。是阿里巴巴数据库出品的,为监控而生的数据库连接池,并且Druid提供的监控功能,监控SQL的执行时间、监控Web URI的请求、Session监控,首先Druid是不存在什么漏洞的。但当开发者配置不当时就可能造成未授权访问。4.利用session,替换cookie,绕过登录验证,成功登录。 Druid是阿里巴巴数据库出品的,为监控而生的数据库连接池,并且Druid提供的监控功能,监控SQL的执行时间、监控Web URI的请求、Session监控。当开发者配置不当时就可能造成未授权访问,暴露Druid的监控界面,获得敏感信息。
要修复Druid未授权漏洞需要修改中间件的配置springboot的配置
这里主要有两种方法:方法1:设置StatViewServlet(监控页面)为 false方法2:给druid的web页面设置账户密码,增加访问druid的权限。
这里推荐使用方法2,毕竟通过自定义账户密码,在鉴权后还是能去druid里面查看监控信息的。
对于druid未授权,大多数白帽子在做测试的时候都是当作一个低危的信息泄露来处理,但是其实如果利用条件都达成了,运气够好的话,造成的危害还是不小的。这也告诉我们以后碰到这种未授权漏洞,可以多收集一些信息,扩宽一下测试思路,说不定就能获得更大的收获。