Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
PunchingBag-for-React2Shell — CVE-2025-55182 보안 연구 및 CTF 챌린지를 위한 의도적으로 취약한 Next.js 앱 | Kitploit
도구/GitHubGitHub/machine-farmer/punchingbag-for-react2shell
Vulnerability AnalysisExploitationWeb Application ExploitationCTFPenetration TestingLearning & EducationRed TeamingRemote Access ToolLabs & Practice
GitHubmachine-farmer/punchingbag-for-react2shell

PunchingBag-for-React2Shell

CVE-2025-55182 보안 연구 및 CTF 챌린지를 위한 의도적으로 취약한 Next.js 앱

저장소 보기
1138개월 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

🥊 PunchingBag - CVE-2025-55182 보안 연구 플랫폼

Next.js React Docker License CVE PunchingBag Platform

⚠️ 교육 목적으로만 제공: 이 애플리케이션은 공인된 보안 연구 및 CTF 챌린지를 위해 설계된 의도적으로 취약한 애플리케이션입니다. 승인되지 않은 시스템에서 이러한 기술을 사용하지 마십시오.

Next.js 15.1.6 기반의 의도적으로 취약한 애플리케이션으로, React Server Components의 치명적인 원격 코드 실행(RCE) 취약점인 CVE-2025-55182(React2Shell) 를 시연합니다. 보안 연구자, 침투 테스터, 학생들이 안전하고 격리된 환경에서 공격 기술을 연습할 수 있도록 설계되었습니다.


📋 목차

  • 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(치명적)
    • 영향받는 버전: 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 클라이언트
    • 브라우저 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. 저장소를 Fork 하세요
    2. 기능 브랜치를 생성하세요 (git checkout -b feature/AmazingFeature)
    3. 변경 사항을 커밋하세요 (git commit -m 'Add some AmazingFeature')
    4. 브랜치에 푸시하세요 (git push origin feature/AmazingFeature)
    5. Pull Request를 여세요

    기여 아이디어

    • 새로운 공격 챌린지 추가
    • 문서 개선
    • 비디오 튜토리얼 제작
    • 새로운 취약점 시연 추가
    • UI/UX 개선
    • 자동화된 공격 스크립트 작성

    행동 강령

    • 존중하고 전문적으로 행동하세요
    • 교육적 가치에 집중하세요
    • 악성 코드를 추가하지 마세요
    • 제출 전에 철저히 테스트하세요

    📜 라이선스

    이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.

    타사 자산

    • Flaticon의 복싱 백 아이콘(출처 표시 필요 무료 라이선스)

    🙏 감사의 말

    • Next.js 팀 - 프레임워크 제공(및 취약점 패치)
    • React 팀 - React Server Components 제공
    • 보안 연구자들 - CVE-2025-55182 발견 및 공개
    • CTF 커뮤니티 - 영감과 방법론 제공
    • OWASP - 보안 테스트 지침 제공

    교육 자료

    • OWASP Top 10
    • PortSwigger Web Security Academy

    📞 문의 및 지원

    • 이슈: GitHub Issues
    • 토론: GitHub Discussions

    🔄 업데이트 및 변경 내역

    버전 1.0.0(2025년 12월)

    • 최초 릴리스
    • 5개의 CTF 챌린지
    • Docker 지원
    • 완전한 문서화

    ⭐ 스타 기록

    이 프로젝트가 웹 보안 학습에 도움이 되었다면 별표(⭐)를 눌러주시기 바랍니다!


    보안 연구를 위해 🥊로 제작됨

    기억하세요: 큰 힘에는 큰 책임이 따릅니다. 기술을 윤리적으로 사용하거나 비윤리적으로 사용하세요, 농담입니다😁, 절대 비윤리적으로 사용하지 마세요.

    버그 신고 · 기능 요청 · 문서

    도구 다운로드