
PoC - Gibbon LMSにおける任意ファイル書き込みによるRCE(CVE-2023-45878)
Gibbon LMS における RCE を可能にする任意ファイル書き込み (CVE-2023-45878)
GibbonEdu Gibbon LMS バージョン 25.0.1 以前では、rubrics_visualise_saveAjax.php が認証を必要としないため、任意ファイル書き込みが可能です。このエンドポイントは、img、path、gibbonPersonID パラメータを受け入れます。img パラメータは、base64 エンコードされた画像であることが想定されています。path パラメータが設定されている場合、指定されたパスがインストールディレクトリの絶対パスと連結され、宛先フォルダとして使用されます。img パラメータの内容は base64 デコードされ、定義されたファイルパスに書き込まれます。これにより、認証なしでリモートコード実行を可能にする PHP ファイルを作成できます。
このスクリプトは、疑似対話型シェルを提供します。単一の PHP ファイルがリモートシステムにアップロードされ、ローカルスクリプトが直接対話するためのラッパーを提供します。コマンドが送信されると、PHP ペイロードからの HTTP レスポンスが返されます。ペイロードファイルがリモートシステムから削除された場合、スクリプトは 404 エラーページのレスポンスを検出し、新しいアップロードを実行して最後のコマンドを再送信します。
python3 gibbonlms_cmd_shell.py url
python3 gibbonlms_cmd_shell.py http://example.com
このスクリプトは教育目的で提供されています。責任を持って pwn してください。