
このリポジトリには、CVE-2024-50379を悪用するために設計されたPythonスクリプトが含まれています。この脆弱性により、攻撃者はJSPシェルを脆弱なサーバーにアップロードし、リモートで任意のコマンドを実行できます。このエクスプロイトは、/uploadsディレクトリが保護されていない、またはターゲットサーバー上に存在しない場合に特に有用です。
このリポジトリには、CVE-2024-50379 を悪用する Python スクリプトが含まれています。この脆弱性を利用すると、攻撃者は脆弱なサーバーに JSP シェルをアップロードし、リモートで任意のコマンドを実行できます。このエクスプロイトは、対象サーバーの /uploads ディレクトリが保護されていない、または存在しない場合に特に有用です。
CVE-2024-50379 は、ファイルアップロードを適切に処理しないサーバーに影響を与える脆弱性であり、攻撃者が JSP シェルをアップロードすることを可能にします。このシェルを使用すると、リモートで任意のコマンドを実行できます。提供されている Python スクリプトは、脆弱なサーバーにシェルをアップロードし、コマンドラインインターフェースを介してサーバーと対話できるようにするプロセスを自動化します。
スクリプトを実行する前に、以下がインストールされていることを確認してください。
Python 3.6 以上(推奨)
requests ライブラリ。pip を使用してインストールします:
pip install requests
このエクスプロイトは、Apache Tomcat または同様のサーバーで、ファイルアップロード機能が適切に保護されていない、または /uploads ディレクトリが誤って構成されているシステムを対象とします。
重要: このツールは、許可を得たペネトレーションテストや教育目的などの管理された環境でのみ使用してください。許可なくこのツールを使用することは、違法かつ非倫理的である可能性があります。
http:// を付加します。/uploads ディレクトリが存在しない場合の処理: /uploads ディレクトリが見つからない場合でも、ツールはシェルアップロードを試み続けます。リポジトリをローカルマシンにクローンします:
git clone https://github.com/dragonked2/CVE-2024-50379-POC.git
cd CVE-2024-50379-POC
必要な Python ライブラリがインストールされていることを確認します:
pip install requests
以下のコマンドでスクリプトを実行します:
python exploit_cve_2024_50379.py
スクリプトは、脆弱なサーバーのベース URL(例: http://localhost:8080)の入力を求めます。URL に http:// または https:// が含まれていない場合は、自動的に http:// が追加されます。
JSP シェルが正常にアップロードされると、サーバー上で実行するコマンドを対話的に入力できます。スクリプトは出力を表示します。
対話例:
[+] Enter the base URL (e.g., localhost:8080): http://127.0.0.1:8080
[+] Checking server accessibility...
[+] /uploads directory not found (404), but continuing with upload attempt...
[+] Attempting to upload shell (Attempt 1/3)...
[+] Shell uploaded successfully! Check the URL: http://127.0.0.1:8080/uploads/shell.jsp
[+] Enter the command to execute on the server (or 'exit' to quit): whoami
[+] Executing command: whoami
[+] Command output:
root
操作が終了したら、exit と入力してツールを終了します。
このツールは、以下のような一般的な問題に対して堅牢なエラーハンドリングを備えています:
失敗した操作は、2秒の間隔を空けて最大3回自動的にリトライされます。リトライ後も失敗した場合、エラーメッセージが表示されます。
貢献は歓迎します!バグを見つけた場合や改善の提案がある場合は、Issue を開くかプルリクエストを送信してください。
このツールは教育およびペネトレーションテストの目的のみを意図しています。所有していない、または明示的なテスト許可がないシステムではこのツールを使用しないでください。無断使用は違法であり、刑事責任を問われる可能性があります。
このプロジェクトは MIT ライセンスの下でライセンスされています。詳細については LICENSE ファイルを参照してください。