Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

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

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 앱

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

🥊 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: 저장소 클론용

설치 확인

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 클라이언트
  • 브라우저 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. 저장소를 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의 복싱 백 아이콘(출처 표시 필요 무료 라이선스)

🙏 감사의 말

도구 다운로드