
CVE-2024-51567は、CyberPanel v2.3.6のupgrademysqlstatusエンドポイントにおけるRCE脆弱性を標的とし、CSRF対策を回避するPython製のPoCエクスプロイトです。
CVE-2024-51567 は、CyberPanel v2.3.6 に影響する重大なコマンドインジェクション脆弱性 CVE-2024-51567 に対する Python の概念実証(PoC)エクスプロイトスクリプトです。この脆弱性は upgrademysqlstatus エンドポイントに存在し、CSRF 保護をバイパスし、特定のパラメータでシェルメタ文字を利用することで、リモートコマンド実行(RCE)を可能にします。
⚠️ 重要な免責事項: このスクリプトは、教育目的およびあなたが所有する、またはテストする明示的な許可を得たシステムに対する正式なセキュリティテストを目的としています。このスクリプトを許可なくシステムで使用することは違法であり、法律で罰せられます。作者は誤用に対して一切の責任を負いません。常に倫理的基準と適用法を遵守してください。
databases/views.py 内の upgrademysqlstatus エンドポイント(コミット 5b08cd6 より前)は、POST リクエストのみをフィルタリングする secMiddleware 保護をバイパスすることで、リモートの攻撃者が任意のコマンドを実行することを可能にします。この脆弱性は、statusfile パラメータでシェルメタ文字を使用して悪用される可能性があります。/dataBases/upgrademysqlstatus エンドポイントを介してリモートコマンドを実行しますhttpx モジュールgit clone https://github.com/ajayalf/CVE-2024-51567.git
cd CVE-2024-51567
httpx がインストールされていることを確認します:
pip install httpx
単一のターゲットに対してスクリプトを実行するには、次のコマンドを使用します:
python CVE-2024-51567.py <target-url>
例:
python CVE-2024-51567.py http://example.com
複数のターゲットに対してスクリプトを実行するには、ターゲット URL のリスト(1行に1つの URL)を含むテキストファイルを作成し、次のコマンドを使用します:
python CVE-2024-51567.py <targets.txt>
例:
python CVE-2024-51567.py targets.txt
複数のターゲットを使用する場合は、targets.txt または任意の名前のテキストファイルを作成します。ファイルの形式は、以下に示すように、1行に1つの URL のリストである必要があります:
http://target1.com
http://target2.com
http://target3.com
スクリプトがターゲットに接続すると、ターゲットサーバー上で実行するシェルコマンドを入力できます。終了するには、exit または quit と入力します。
get_CSRF_token(client): ターゲットのメインページの Cookie から CSRF トークンを取得します。
client(httpx.Client オブジェクト)pwn(client, CSRF_token, cmd): CSRF トークンと目的のコマンドを含む細工されたペイロードを送信します。
client(httpx.Client オブジェクト)、CSRF_token(文字列)、cmd(文字列)exploit(client, cmd): ターゲット上で pwn 関数を実行してコマンドを実行し、出力を表示します。
client(httpx.Client オブジェクト)、cmd(文字列)run_exploit(target): ターゲットへの接続を初期化し、対話型コマンドループを開始します。
target(文字列、ターゲット URL)Cookie に CSRF トークンが見つからない場合、スクリプトは受信したすべての Cookie を出力し、役立つエラーメッセージとともに終了します。
/ が CSRF トークンを取得するための正しいエンドポイントであることを確認します。異なる場合は、関数 get_CSRF_token をそれに応じて変更します。この脆弱性に関する詳細については、以下のリソースを参照してください:
exit または quit と入力するまでユーザーコマンドを受け取ります。メイン実行: 引数をチェックして、ターゲットが単一の URL か複数のターゲットを含むファイルかを判断します。