
Next.jsアプリケーションにおけるCVE-2025-55182脆弱性評価のための高度なセキュリティテストツール。機能: インタラクティブシェル、バッチスキャン、WAFバイパス、包括的なレポート。
R2S (React2Shell) は、セキュリティ研究者、開発者、ペネトレーションテスターがNext.jsアプリケーションがCVE-2025-55182に対して脆弱かどうかを評価できるように設計されたセキュリティテストツールです。
CVE-2025-55182 は、特定のバージョン(例:16.0.5)のNext.js Server Actionsに影響を与える重大な脆弱性です。この脆弱性により、攻撃者は適切に保護されていないServer Actionsを通じてサーバー上で任意のコマンドを実行でき、リモートコード実行(RCE)につながります。
R2S は、悪意のある攻撃者に見つかる前に修正できるよう、アプリケーションにこの問題があるかどうかを確認するのに役立ちます。
--windows)⚠️ 重要警告: --windows フラグを誤って使用すると、ツールが脆弱性の判定に失敗する可能性があります。
--windowsを使用する場合: ターゲットサーバーがWindowsであると100%確信できる場合のみ--windowsを使用するとコマンドが失敗し、サーバーが脆弱であっても「脆弱ではない」と報告される可能性があります--windowsを使用しないでください例:```bash
r2s -u http://linux-server.com -t --windows
r2s -u http://linux-server.com -t
---
---
## ⚠️ 法的免責事項
**重要:このツールを使用する前に必ずお読みください**
1. **このツールは正当なセキュリティテスト専用です**
- ✅ 自分のアプリケーションをテストする
- ✅ 書面による許可を得たアプリケーションをテストする
- ✅ 教育目的およびセキュリティ研究
- ❌ **自分が所有していない、またはテストする許可を得ていないシステムでは決して使用しないでください**
- ❌ **悪意のある目的では決して使用しないでください**
2. **このツールを使用することで、以下に同意したことになります:**
- 自分が所有しているか、テストするための明示的な書面による許可を得ているシステムでのみ使用すること
- コンピュータシステムへの無許可アクセスが违法であることを理解していること
- 自身の行動に対して全責任を負うこと
- 作者はこのツールの誤用に対する責任を負わないこと
3. **法的影響:**
- コンピュータシステムへの無許可アクセスはほとんどの国で犯罪です
- 刑事告訴、罰金、禁固刑を受ける可能性があります
- テスト前には常に書面による許可を得てください
4. **このツールは「現状のまま」提供され、いかなる種類の保証もありません**
**18歳未満の場合は、このツールを使用する前に成人の監督と許可を得てください。**
---
## ✨ 特徴
### コア機能
- 🔍 **脆弱性検出** - サーバーがCVE-2025-55182に対して脆弱かどうかを迅速にテスト
- 💻 **インタラクティブシェル** - HTTPS経由の完全なインタラクティブシェルセッション。コマンド履歴付き
- 📁 **ファイル操作** - ディレクトリの一覧表示、ファイルの読み取り、ファイル/アーカイブのエクスポート
- 🔐 **シークレット抽出** - アプリケーションのシークレット(.envファイル、設定ファイル)の読み取りを試行
- 📄 **コード抽出** - アプリケーションのソースコードの読み取りを試行
- 🖥️ **システム情報** - OS情報、ホスト名、ユーザー、環境変数を収集
### 高度な機能
- 🚀 **自動ウォームアップペイロード** - 最良の結果を得るためにペイロードを自動最適化
- ⚡ **並列実行** - 複数のコマンドを同時に実行
- 🎲 **ペイロードランダム化** - 動的ペイロードで検出を回避
- 🛠️ **エクスプロイトモジュール** - Metasploitスタイルのモジュールシステム (env_dump, file_search, network_scan, process_list)
- 🔄 **リダイレクト処理** - HTTPリダイレクト (301, 302, 303, 307, 308) を自動フォロー
- 🎨 **美しいUI** - 読みやすさのための色分けされた出力
- 📊 **包括的なレポート** - 操作固有のフォーマッタでJSON、HTML、TXT形式のレポートを自動保存
- ⚙️ **設定システム** - インタラクティブな設定パネルを備えたJSONベースの設定
- 📦 **エクスポート機能** - 単一ファイルまたはアプリ全体のディレクトリをzipアーカイブとしてエクスポート
- 🔒 **WAFバイパス** - 複数のバイパス手法 (⚠️ 保証なし - 以下の制限事項を参照)
### レポートとログ記録
- 📝 **自動レポート保存** - 人間が読めるタイムスタンプでレポートを `~/.r2s/reports/` に自動保存
- 📋 **操作固有のフォーマット** - 異なる操作(シェル、テスト、シークレットなど)ごとに異なるレポート形式
- 📜 **コマンド履歴** - `~/.r2s/history` に保存される永続的なコマンド履歴
- 🔍 **監査証跡** - 全操作の詳細なログを `~/.r2s/logs/audit.log` に記録
- 🎨 **HTMLレポート** - ダーク/ライトモード、コピーボタン、コードブロックを備えた美しいHTMLレポート
---
## 📦 インストール
### オプション1: ソースからビルド(推奨)
1. **リポジトリをクローン:** ```bash
git clone https://github.com/zamdevio/r2s.git
cd r2s
pip install -r requirements.txt
python3 -m react2shell.main --help
r2s --help
---
## 🚀 クイックスタート
### 基本的な脆弱性テスト```bash
# Test if a server is vulnerable
r2s -u http://localhost:3000 -t
# With verbose output for more details
r2s -u http://localhost:3000 -t -v
⚠️ 重要: ターゲットがWindowsであると確信できない限り、--windows を使用しないでください。Linuxサーバーで --windows を使用すると、偽陰性が発生する可能性があります(サーバーが脆弱であってもツールが「脆弱ではない」と報告する場合があります)。
安全なテスト環境を https://r2s-arena.fly.dev で提供しています:```bash
r2s -u https://r2s-arena.fly.dev -t
### ローカルでのテスト
脆弱なアプリをローカルで実行する手順については、[`nextjs/README.md`](https://github.com/zamdevio/r2s/blob/main/nextjs/README.md) を参照してください。
---
## 📚 使用例
### クイックコマンドリファレンス
**最も一般的なコマンド:**
- `r2s -u URL -t` - 脆弱性のテスト(最も一般的)
- `r2s -u URL --shell` - インタラクティブシェルを起動
- `r2s --targets FILE -t` - 複数のターゲットを一括スキャン
- `r2s -u URL --system-info` - システム情報を取得
- `r2s -u URL --secrets` - シークレットの読み取りを試行
- `r2s -u URL --export-archive` - アプリ全体をZIPとしてエクスポート
**⚠️ 注意**:ターゲットがWindowsでない限り、`--windows` を使用しないでください!
---