Apache Struts S2-052 (CVE-2017-9805) XML Deserialization Remote Code Execution の概念実証エクスプロイト。INE eWPTX Practice Range lab を解いている間に作成。カスタムペイロード、リバースシェルエクスプロイトスクリプト、ステップバイステップの悪用例を含む。
このリポジトリは、悪意のあるXMLデシリアライゼーションを利用した**Apache Struts S2-052 (CVE-2017-9805)**のエクスプロイトを示しています。
このエクスプロイトは、INE eWPTX Practice Range – Struts XML Deserialization RCEラボを解く際に作成されました。
Apache Struts RESTプラグインは、XStreamを使用してXMLリクエストをデシリアライズします。
アプリケーションが以下のXMLを処理する場合:
Content-Type: application/xml
攻撃者は、悪意のあるシリアライズされたオブジェクトグラフを提供し、以下を介した任意のコマンド実行を引き起こすことができます。
java.lang.ProcessBuilder
これにより**リモートコード実行 (RCE)**が発生します。
クライアントリクエスト ↓ Struts RESTプラグイン ↓ XStream XMLデシリアライゼーション ↓ 悪意のあるオブジェクトグラフ ↓ ProcessBuilder.start() ↓ リモートコード実行
プラットフォーム: INE eWPTX Practice Range
チャレンジ: Struts XML Deserialization RCE
Struts 2.1.6 – 2.3.33 Struts 2.5 – 2.5.12