Skip to content

kengo2003/react2shell-playground

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

React2Shell(CVE-2025-55182)の PoC

RSC における脆弱性の検証を行うリポジトリです。

公式サイト: react2shell.com

免責事項

本リポジトリに含まれるコードは、セキュリティ研究および学習目的のために作成されています。
管理下にあるローカル環境以外での実行、および許可のないシステムへの攻撃は法律で固く禁止されています。
本リポジトリの利用により生じたいかなる問題も一切の責任を負いません。悪用厳禁です。

検証環境

Next.js: v16.0.1
Runtime: Bun / Node.js

実行方法

以下の手順で実行してください

1. 準備と起動

プロジェクトのルートディレクトリで、依存関係のインストールと Web サーバの起動を行います。

# 依存関係のインストール
bun install

# Webサーバを起動 (別ターミナルで実行し続けること)
bun run dev:web

2. Next-Action ID の取得

1.Webサーバ起動後、ブラウザで http://localhost:3000/ にアクセスします。

2.開発者ツールを開き、Networkタブを選択します。

3.Webフロントエンド上のSubmitボタンを押します。

4.Networkタブに表示された"localhost"を選択しヘッダーから、Next-Action の値をコピーします。

5.実行したい検証スクリプト(例: readenv.ts など)を開き、NEXT_ACTION_ID の値を先程コピーしたものに書き換えます。

3. 実行

# サーバクラッシュの検証
bun run send
# 電卓の起動
bun run calculator
# ファイル書き込み (test.txt の生成)
bun run writeFile
# 環境変数の奪取 (エラーベース)
bun run readenv
  • attack は検証用のスクリプトなので実行してもエラーになります

ディレクトリ構成

このプロジェクトは攻撃者側スクリプトと攻撃対象 Web サーバをモノレポ構成で実装しています。

以下の構成図では不要なファイルは省略しています

root/
├── apps/
│   ├── attacker/                 # 攻撃者側スクリプト
│   │   ├── attack-request.ts   # 検証用
│   │   ├── calculator.ts         # 電卓起動スクリプト
│   │   ├── readenv.ts            # 環境変数奪取スクリプト
│   │   ├── reverseShell.ts       # リバースシェル攻撃スクリプト
│   │   ├── send-request.ts    # HTTP通信確認・DoS検証用
│   │   └── writeFile.ts          # ファイル書き込みスクリプト
│   └── web/                      # 攻撃対象のNext.jsサーバ
│       ├── app/                  # App Router
│       ├── public/
│       │   └── test.txt      # ファイル書き込みスクリプト実行で生成されるファイル(.gitignore済み)
│       └── .env.local            # 環境変数
└── 省略

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published