Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
PunchingBag-for-React2Shell — 意図的に脆弱性を仕込んだNext.jsアプリ(CVE-2025-55182のセキュリティ研究およびCTFチャレンジ用) | Kitploit
ツール/GitHubGitHub/machine-farmer/punchingbag-for-react2shell
脆弱性分析エクスプロイトウェブアプリケーション悪用CTFペネトレーションテスト学習と教育レッドチーミングリモートアクセスツールラボと実践
GitHubmachine-farmer/punchingbag-for-react2shell

PunchingBag-for-React2Shell

意図的に脆弱性を仕込んだNext.jsアプリ(CVE-2025-55182のセキュリティ研究およびCTFチャレンジ用)

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

人気

すべて見る →

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

すべてのツールを探索

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

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

🥊 PunchingBag - CVE-2025-55182 セキュリティ研究プラットフォーム

Next.js React Docker License CVE PunchingBag Platform

⚠️ 教育目的専用: これは、認可されたセキュリティ研究およびCTFチャレンジのために設計された、意図的に脆弱性を含むアプリケーションです。無許可のシステムに対してこれらの手法を使用しないでください。

React Server Componentsにおける深刻なリモートコード実行(RCE)脆弱性である**CVE-2025-55182 (React2Shell)**を実証する、意図的に脆弱なNext.js 15.1.6アプリケーションです。セキュリティ研究者、ペネトレーションテスター、学生が安全で隔離された環境で攻撃手法を練習できるように構築されています。


📋 目次

  • CVE-2025-55182について
  • 特徴
  • 前提条件
  • インストール
  • 使用方法
  • CTFチャレンジ
  • 攻撃ガイド
  • プロジェクト構成
  • セキュリティ通知
  • コントリビューション
  • ライセンス
  • 謝辞

🔍 CVE-2025-55182について

CVE-2025-55182は、React2Shellとしても知られ、Next.jsのReact Server Componentsに影響を与える深刻なリモートコード実行(RCE)脆弱性です。

脆弱性の詳細

  • CVE ID: CVE-2025-55182
  • 種別: リモートコード実行 (RCE)
  • CVSSスコア: 10.0 (Critical)
  • 影響を受けるバージョン: React Server Componentsが有効なNext.js 15.1.6以前
  • 攻撃ベクトル: RSC Flightプロトコルにおける安全でないデシリアライゼーション
  • 影響: システムの完全な侵害、データ窃取、特権昇格

動作原理

この脆弱性は、React Server Actionsにおけるシリアライズデータの不適切な処理に起因します。攻撃者は、検証を回避してサーバー上で任意のコードを実行する悪意のあるペイロードを、以下の方法で作成できます:

  1. JavaScriptオブジェクトにおけるプロトタイプ汚染
  2. React Flightペイロードの安全でないデシリアライゼーション
  3. Server Actionパラメータの操作
  4. Server Componentsでのヘッダーインジェクション

✨ 特徴

  • 🐳 完全Docker化 - ホストシステムからの完全な隔離
  • 🎯 5つのCTFフラグ - 段階的な難易度のチャレンジ
  • 🔓 複数の攻撃ベクトル - Server Actions、APIルート、認証バイパス
  • 📚 教育リソース - 組み込みのヒントと攻撃ガイド
  • 🛡️ 安全な環境 - 本番システムへのリスクなし
  • 🎨 現実的なアプリケーション - 管理パネル付きのリアルなアプリテーマ
  • 📊 進捗トラッキング - フラグ獲得状況の監視
  • 🔧 脆弱なバージョンのReactとNext.js - React 19.0.0、Next.js 15.1.6

🔧 前提条件

始める前に、以下がインストールされていることを確認してください:

  • Docker: バージョン20.10以上
  • Docker Compose: バージョン2.0以上
  • Git: リポジトリのクローン用

インストールの確認

docker --version
docker-compose --version
git --version

📦 インストール

クイックスタート

# 1. Clone the repository
git clone https://github.com/Machine-farmer/PunchingBag-for-React2Shell.git
cd PunchingBag-for-React2Shell

# 2. Build and run with Docker
docker-compose up --build

# 3. Access the application
# Open your browser to: http://localhost:3000

手動セットアップ(Dockerなし)

# 1. Clone the repository
git clone https://github.com/Machine-farmer/punchingbag-cve-2025-55182.git
cd punchingbag-cve-2025-55182

# 2. Install dependencies
npm install

# 3. Run development server
npm run dev

# 4. Access at http://localhost:3000

⚠️ 警告: セキュリティ研究では、Dockerなしの手動セットアップは推奨されません。隔離には常にDockerを使用してください。


🚀 使用方法

環境の起動

# Start the vulnerable application
docker-compose up

# Start in detached mode (background)
docker-compose up -d

# View logs
docker-compose logs -f

環境の停止

# Stop containers
docker-compose down

# Stop and remove volumes
docker-compose down -v

# Complete cleanup (removes images)
docker-compose down -v --rmi all

アプリケーションへのアクセス

起動したら、以下にアクセスしてください:

  • ホームページ: http://localhost:3000
  • ダッシュボード: http://localhost:3000/dashboard
  • 管理パネル: http://localhost:3000/admin

🎯 CTFチャレンジ

PunchingBagには、さまざまな攻撃手法をテストする5つの隠しフラグが含まれています:

フラグチャレンジ難易度ポイント
🚩 フラグ1基本的な偵察簡単100
🚩 フラグ2Server Actionの悪用中級200
🚩 フラグ3管理アクセスバイパス中級300
🚩 フラグ4リモートコード実行難しい400
🚩 フラグ5環境シークレット中級250

フラグの形式

すべてのフラグは CTF{description_here} の形式に従います。

ヒント

  • フラグ1: アプリケーションの構造とダッシュボードを探索する
  • フラグ2: ユーザー入力を受け付けるServer Actionsを探す
  • フラグ3: 認証情報のために環境変数を確認する
  • フラグ4: 管理コンソールのRCE脆弱性を悪用する
  • フラグ5: 隠された設定データを抽出する

🔓 攻撃ガイド

必要なツール

  • Burp Suite - HTTPリクエストの傍受と改変
  • curl - ペイロード作成用のコマンドラインHTTPクライアント
  • Browser DevTools - ネットワークトラフィックの検査
  • Postman - APIテスト(オプション)

基本的な攻撃ワークフロー

1. 偵察

# Explore the application
curl http://localhost:3000

# Check available endpoints
curl http://localhost:3000/dashboard
curl http://localhost:3000/admin

2. Server Actionの悪用

フォーム送信を傍受し、ペイロードを変更します:

// Example malicious payload
{
  "name": "attacker",
  "email": "[email protected]",
  "message": "__proto__: { isAdmin: true }"
}

3. ヘッダーインジェクション

# Inject malicious headers
curl -X POST http://localhost:3000/api/data \
  -H "Content-Type: application/json" \
  -H "x-user-data: {\"role\":\"admin\"}" \
  -d '{"exploit": true}'

4. 管理者アクセス

.env.localで認証情報を確認するか、認証を悪用します:

# Default admin token (intentionally weak)
Username: admin
Token: super_secret_admin_key_12345

5. リモートコード実行

脆弱なコンポーネントでコマンド実行機能を使用します:

# Simulate RCE
Command: cat /flag.txt

高度なテクニック

  • プロトタイプ汚染: __proto__プロパティを注入する
  • RSCペイロードの作成: React Flightのシリアライズデータを変更する
  • セッションハイジャック: 認証トークンを操作する
  • APIファジング: 脆弱性がないかすべてのエンドポイントをテストする

📁 プロジェクト構成

punchingbag-cve-2025-55182/
├── app/
│   ├── actions.js              # Vulnerable Server Actions
│   ├── layout.js               # Application layout
│   ├── page.js                 # Homepage with CTF info
│   ├── globals.css             # Global styles
│   ├── admin/
│   │   └── page.js            # Admin panel (Flag 3, 4)
│   ├── dashboard/
│   │   └── page.js            # User dashboard (Flag 1, 2)
│   └── api/
│       ├── data/
│       │   └── route.js       # API endpoint
│       └── submit/
│           └── route.js       # Form submission endpoint
├── components/
│   ├── Logo.js                # Application logo
│   ├── VulnerableForm.js      # Exploitable form component
│   └── UserDisplay.js         # User profile display
├── lib/
│   └── flags.js               # Flag management
├── public/
│   └── boxing-bag.png         # Application icon
├── .env.local                 # Environment variables (Flag 5)
├── docker-compose.yml         # Docker configuration
├── Dockerfile                 # Container definition
├── next.config.js             # Next.js configuration
├── package.json               # Dependencies
└── README.md                  # This file

🛡️ セキュリティ通知

⚠️ 重要な免責事項

このアプリケーションは意図的に脆弱であり、以下のために設計されています:

✅ 認可された用途:

  • セキュリティ研究と教育
  • ペネトレーションテストスキルの開発
  • CTFコンテストとトレーニング
  • サイバーセキュリティの学術コースワーク
  • 脆弱性評価の実践

❌ 禁止された用途:

  • 明示的な許可なしでのシステムのテスト
  • いかなる種類の本番環境へのデプロイ
  • 実際のシステムへの悪意のある攻撃
  • 違法目的のための攻撃ツールの配布

法的コンプライアンス

  • 所有していないシステムをテストする前に必ず書面による許可を取得してください
  • 実際の脆弱性については責任ある開示の慣行に従ってください
  • セキュリティテストに関する現地の法律と規制を遵守してください
  • すべてのシステムとプラットフォームの利用規約を尊重してください

隔離要件

  • 適切な隔離のために常にDockerで実行してください
  • ポート3000を公開インターネットに絶対に公開しないでください
  • 管理されたラボ環境でのみ使用してください
  • 研究セッション後はコンテナを停止/破棄してください
# Proper cleanup after use
docker-compose down -v --rmi all

🤝 コントリビューション

コントリビューションを歓迎します。以下のガイドラインに従ってください:

コントリビューションの方法

  1. リポジトリをフォークします
  2. 機能ブランチを作成します (git checkout -b feature/AmazingFeature)
  3. 変更をコミットします (git commit -m 'Add some AmazingFeature')
  4. ブランチにプッシュします (git push origin feature/AmazingFeature)
  5. プルリクエストを開きます

コントリビューションのアイデア

  • 新しい攻撃チャレンジを追加する
  • ドキュメントを改善する
  • ビデオチュートリアルを作成する
  • 新しい脆弱性デモを追加する
  • UI/UXを強化する
  • 自動化された攻撃スクリプトを作成する

行動規範

  • 敬意を持って専門的に行動する
  • 教育的価値に焦点を当てる
  • 悪意のあるコードを追加しない
  • 提出前に徹底的にテストする

📜 ライセンス

このプロジェクトはMITライセンスの下でライセンスされています。詳細はLICENSEファイルを参照してください。

サードパーティアセット

ツールをダウンロード