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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/machine-farmer/punchingbag-for-react2shell
脆弱性分析エクスプロイトウェブアプリケーション悪用CTFペネトレーションテスト学習と教育レッドチーミングリモートアクセスツールラボと実践
GitHubmachine-farmer/punchingbag-for-react2shell

PunchingBag-for-React2Shell

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

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

人気

すべて見る →

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

すべてのツールを探索

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

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

🥊 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: リポジトリのクローン用

    インストールの確認

    root@kitploit:~
    docker --version
    docker-compose --version
    git --version
    

    📦 インストール

    クイックスタート

    root@kitploit:~
    # 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なし)

    root@kitploit:~
    # 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を使用してください。


    🚀 使用方法

    環境の起動

    root@kitploit:~
    # Start the vulnerable application
    docker-compose up
    
    # Start in detached mode (background)
    docker-compose up -d
    
    # View logs
    docker-compose logs -f
    

    環境の停止

    root@kitploit:~
    # 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. 偵察

    root@kitploit:~
    # Explore the application
    curl http://localhost:3000
    
    # Check available endpoints
    curl http://localhost:3000/dashboard
    curl http://localhost:3000/admin
    

    2. Server Actionの悪用

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

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

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

    root@kitploit:~
    # 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で認証情報を確認するか、認証を悪用します:

    root@kitploit:~
    # Default admin token (intentionally weak)
    Username: admin
    Token: super_secret_admin_key_12345
    

    5. リモートコード実行

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

    root@kitploit:~
    # Simulate RCE
    Command: cat /flag.txt
    

    高度なテクニック

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

    📁 プロジェクト構成

    root@kitploit:~
    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を公開インターネットに絶対に公開しないでください
    • 管理されたラボ環境でのみ使用してください
    • 研究セッション後はコンテナを停止/破棄してください
    root@kitploit:~
    # 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ファイルを参照してください。

    サードパーティアセット

    • ボクシングバッグアイコンはFlaticon提供(帰属表示付きの無料ライセンス)

    🙏 謝辞

    • Next.jsチーム - フレームワークの提供(および脆弱性のパッチ適用)
    • Reactチーム - React Server Componentsの提供
    • セキュリティ研究者 - CVE-2025-55182を発見し開示した方々
    • CTFコミュニティ - 着想と方法論の提供
    • OWASP - セキュリティテストガイドラインの提供

    教育リソース

    • OWASP Top 10
    • PortSwigger Web Security Academy

    📞 連絡先とサポート

    • Issues: GitHub Issues
    • Discussions: GitHub Discussions

    🔄 更新情報と変更履歴

    バージョン1.0.0 (2025年12月)

    • 初期リリース
    • 5つのCTFチャレンジ
    • Dockerサポート
    • 完全なドキュメント

    ⭐ スター履歴

    このプロジェクトがウェブセキュリティの学習に役立った場合は、スターを付けていただけると幸いです! ⭐


    セキュリティ研究のために🥊を込めて作られました

    覚えておいてください: 大きな力には大きな責任が伴います。スキルは倫理的に、あるいは非倫理的に使ってください…冗談です😁、決して非倫理的に使わないでください。

    バグを報告 · 機能をリクエスト · ドキュメント

    ツールをダウンロード