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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
vuln-app-CVE-2025-55182 — 의도적으로 취약하게 만든 Next.js 애플리케이션으로, React Server Components의 안전하지 않은 역직렬화를 통한 CVE-2025-55182 RCE를 시연합니다. 보안 연구 및 교육을 위한 익스플로잇 스크립트와 스캐너 통합을 포함합니다. | Kitploit
도구/GitHubGitHub/zack0x01/vuln-app-cve-2025-55182
Vulnerability AnalysisCode AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & EducationPayload DevelopmentLabs & Practice
GitHub
zack0x01/vuln-app-cve-2025-55182

vuln-app-CVE-2025-55182

의도적으로 취약하게 만든 Next.js 애플리케이션으로, React Server Components의 안전하지 않은 역직렬화를 통한 CVE-2025-55182 RCE를 시연합니다. 보안 연구 및 교육을 위한 익스플로잇 스크립트와 스캐너 통합을 포함합니다.

저장소 보기
20819개월 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

취약한 Next.js RSC 애플리케이션 - CVE-2025-55182

⚠️ 경고: 이 애플리케이션은 교육 및 보안 연구 목적으로만 의도적으로 취약하게 만들어졌습니다. 프로덕션에 배포하거나 인터넷에 노출하지 마십시오.

개요

이는 React Server Components의 치명적인 원격 코드 실행 취약점인 CVE-2025-55182를 시연하는 취약한 Next.js 애플리케이션입니다. 이 애플리케이션은 보안 테스트 및 교육 목적으로 의도적으로 취약하게 설계되었으며, 전문적인 클라우드 호스팅 대시보드처럼 보이도록 디자인되었습니다.

CVE 세부 정보:

  • CVE ID: CVE-2025-55182
  • 심각도: 치명적 (CVSS 9.5)
  • 영향받는 버전: React 19.0.0, 19.1.0, 19.1.1, 19.2.0
  • 영향: 안전하지 않은 역직렬화를 통한 인증되지 않은 원격 코드 실행
  • 참고: ProjectDiscovery CVE-2025-55182

🎯 기능

  • 취약한 React 19.0.0 - 취약한 버전의 React Server Components 사용
  • 전문적인 UI - 클라우드 호스팅 대시보드 인터페이스
  • 서버 액션 - 취약한 서버 액션 엔드포인트 시연
  • 익스플로잇 스크립트 - 취약점 테스트를 위한 curl_id.sh 포함

📋 요구 사항

  • Node.js 18+
  • npm 또는 yarn
  • Python 3.9+ (react2shell-scanner용, 선택 사항)

🚀 설정

  1. 의존성 설치:
root@kitploit:~
npm install --legacy-peer-deps
  1. 개발 서버 실행:
root@kitploit:~
npm run dev

애플리케이션은 http://localhost:3000에서 사용할 수 있습니다.

🧪 취약점 테스트

방법 1: 포함된 익스플로잇 스크립트 사용

리포지토리에는 CVE-2025-55182를 익스플로잇하기 위한 Nuclei 템플릿 기반의 명령줄 도구인 curl_id.sh가 포함되어 있습니다.

사용법:

root@kitploit:~
# Execute id command (default)
./curl_id.sh -d localhost:3000 -c id

# Execute custom commands
./curl_id.sh -d localhost:3000 -c "whoami"
./curl_id.sh -d localhost:3000 -c "uname -a"
./curl_id.sh -d localhost:3000 -c "ls -la /tmp"

# Test remote domains (if vulnerable)
./curl_id.sh -d vulnapp.com -c id

옵션:

  • -d, --domain: 대상 도메인/URL (기본값: http://localhost:3000)
  • -c, --command: 실행할 명령어 (기본값: id)

방법 2: react2shell-scanner 사용

  1. 스캐너 도구 클론:
root@kitploit:~
git clone https://github.com/assetnote/react2shell-scanner.git
cd react2shell-scanner
pip install -r requirements.txt
  1. 스캐너 실행:
root@kitploit:~
python3 scanner.py -u http://localhost:3000
  1. 안전 검사 모드 사용 (RCE 실행 없음):
root@kitploit:~
python3 scanner.py -u http://localhost:3000 --safe-check

방법 3: 수동 테스트

취약점은 다음과 같은 조작된 multipart POST 요청을 서버로 전송하여 익스플로잇할 수 있습니다:

  • Next-Action: x 헤더
  • X-Nextjs-Request-Id 헤더
  • X-Nextjs-Html-Request-Id 헤더
  • 역직렬화 취약점을 익스플로잇하는 악성 multipart 폼 페이로드

정확한 페이로드 구조는 react2shell-scanner 리포지토리를 참조하세요.

🔍 작동 방식

취약점은 React Server Components의 역직렬화 메커니즘에 존재합니다. Next.js가 서버 액션을 처리할 때 요청 페이로드를 역직렬화합니다. 취약한 버전의 React(19.0.0-19.2.0)는 역직렬화된 데이터를 제대로 검증하거나 정리하지 않아 공격자가 다음을 수행할 수 있습니다:

  1. 악성 페이로드 제작 - 프로토타입 오염을 익스플로잇
  2. 서버에서 임의 코드 실행 - process.mainModule.require('child_process').execSync()를 통해
  3. 인증 없이 원격 코드 실행 달성
  4. X-Action-Redirect 응답 헤더에서 명령 출력 검색

기술 세부 사항

익스플로잇은 JSON 역직렬화 과정에서 프로토타입 오염 공격을 사용합니다. 페이로드 구조는 다음을 포함합니다:

  • 프로토타입 체인을 오염시키는 then 속성
  • JavaScript 코드를 포함하는 _prefix 필드가 있는 _response 객체
  • 코드는 execSync()를 통해 실행되며 출력을 응답 헤더로 리다이렉트합니다.

🛡️ 해결 방법

  1. React 업데이트 - 버전 19.2.1 이상으로:
root@kitploit:~
npm install react@latest react-dom@latest
  1. Next.js 업데이트 - 최신 버전으로:
root@kitploit:~
npm install next@latest
  1. 모든 의존성 검토 및 업데이트:
root@kitploit:~
npm audit fix
  1. 수정 확인 - 스캐너를 다시 실행하여 취약점이 더 이상 감지되지 않는지 확인

📁 프로젝트 구조

root@kitploit:~
vuln-app-CVE-2025-55182/
├── app/
│   ├── actions.ts          # 취약한 서버 액션
│   ├── layout.tsx          # 루트 레이아웃
│   └── page.tsx            # 메인 대시보드 페이지
├── node_modules/           # 의존성
├── curl_id.sh              # 테스트용 익스플로잇 스크립트
├── package.json            # 프로젝트 의존성 (취약한 버전)
├── tsconfig.json           # TypeScript 구성
├── next.config.js          # Next.js 구성
├── .gitignore              # Git 무시 규칙
└── README.md               # 이 파일

📚 참고 자료

  • CVE-2025-55182 세부 정보
  • react2shell-scanner
  • React 보안 권고
  • Next.js 보안 권고
  • Vercel 변경 로그
  • maple3142의 원본 PoC

⚖️ 법적 고지

이 애플리케이션은 오로지 보안 연구 및 교육 목적으로 만들어졌습니다.

  • 절대 프로덕션 환경에서 이 애플리케이션을 사용하지 마십시오.
  • 절대 이 애플리케이션을 공개 서버에 배포하지 마십시오.
  • 절대 명시적 허가 없이 시스템을 공격하는 데 사용하지 마십시오.
  • 반드시 학습 목적으로만 격리된 통제 환경에서 사용하십시오.

작성자와 기여자는 이 코드의 오용에 대해 책임을 지지 않습니다. 컴퓨터 시스템에 대한 무단 접근은 불법이며 형사 처벌을 받을 수 있습니다.

🤝 기여

이것은 교육용 리포지토리입니다. 문서를 개선하거나, 더 나은 예제를 추가하거나, 교육적 가치를 높이는 기여를 환영합니다.

📝 라이선스

이 프로젝트는 교육 목적으로 제공됩니다. 사용에 따른 책임은 본인에게 있습니다.

🙏 크레딧

  • Assetnote 보안 연구팀 - 원본 취약점 연구 및 스캐너 도구
  • maple3142 - 원본 RCE PoC 공개
  • xEHLE_ - 응답 헤더의 RCE 출력 반영
  • Nagli - 추가 연구 기여
  • ProjectDiscovery - 탐지용 Nuclei 템플릿

기억하세요: 이는 취약한 애플리케이션입니다. 보안 연구 및 교육 목적으로 통제된 환경에서만 책임감 있게 사용하십시오.

도구 다운로드