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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
react2shell-poc-CVE-2025-55182 — CVE-2025-55182에 대한 개념 증명 익스플로잇으로, Next.js Server Actions의 치명적인 RCE 취약점입니다. React Flight 프로토콜의 안전하지 않은 역직렬화를 악용하여 프로토타입 오염 및 샌드박스 우회를 통해 임의 명령을 실행합니다. | Kitploit
도구/GitHubGitHub/tamagorengs/react2shell-poc-cve-2025-55182
Vulnerability AnalysisCode AnalysisExploitationWeb Application ExploitationLearning & EducationPayload Development
GitHubtamagorengs/react2shell-poc-cve-2025-55182

react2shell-poc-CVE-2025-55182

CVE-2025-55182에 대한 개념 증명 익스플로잇으로, Next.js Server Actions의 치명적인 RCE 취약점입니다. React Flight 프로토콜의 안전하지 않은 역직렬화를 악용하여 프로토타입 오염 및 샌드박스 우회를 통해 임의 명령을 실행합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

React2Shell PoC (CVE-2025-55182)

Server Actions를 사용하는 Next.js 애플리케이션에 영향을 미치는 치명적인 원격 코드 실행(RCE) 취약점인 React2Shell(CVE-2025-55182)에 대한 개념 증명(PoC) 스크립트입니다.

[!WARNING] 고지 사항: 이 도구는 교육 및 승인된 테스트 목적으로만 사용됩니다. 오용에 대한 책임은 지지 않습니다.

설명

이 스크립트는 React Server Components "Flight" 프로토콜의 안전하지 않은 역직렬화 취약점을 악용합니다. 이를 통해 인증되지 않은 공격자가 서버에서 임의의 JavaScript 코드를 실행하여 부분적인 원격 코드 실행(RCE)을 유발할 수 있습니다.

기능

  • 강력한 페이로드: require(global.require 또는 모듈 생성자를 통해)를 찾는 호환성 검사를 사용하여 최신 Node.js 버전(v14+)에서도 작동하도록 보장합니다.
  • 동적 구성: CLI 플래그를 통해 대상 URL과 명령을 지정할 수 있습니다.
  • 오류 처리: 연결 오류를 우아하게 처리합니다.

설치

  1. 저장소를 클론합니다.
  2. 종속성을 설치합니다:
root@kitploit:~
pip install -r requirements.txt

사용법

root@kitploit:~
python3 react2shell.py -u <TARGET_URL> [-c <COMMAND>]
인자설명기본값
-u, --url필수. 대상 URL (예: http://localhost:3000/).N/A
-c, --cmd선택 사항. 서버에서 실행할 명령.id

예제

사용자 신원 확인:

root@kitploit:~
python3 react2shell.py -u http://127.0.0.1:3000/

디렉터리 내용 나열:

root@kitploit:~
python3 react2shell.py -u http://127.0.0.1:3000/ -c "ls -la"

민감한 파일 읽기:

root@kitploit:~
python3 react2shell.py -u http://127.0.0.1:3000/ -c "cat /etc/passwd"

기술 분석

이 익스플로잇은 React Server Components(RSC)의 Next.js Server Actions 처리 과정에서 발생하는 프로토타입 오염(Prototype Pollution) 및 안전하지 않은 역직렬화(Insecure Deserialization) 체인을 활용합니다.

  1. 진입점: Next-Action 헤더는 서버에 Server Action을 처리하도록 신호를 보냅니다.
  2. 프로토타입 오염: JSON 페이로드는 악의적인 then 속성("$1:__proto__:then")을 주입합니다. 이로 인해 서버의 비동기 요청 핸들러가 페이로드를 "Thenable"(Promise 유사 객체)로 취급하도록 속입니다.
  3. 코드 주입: 서버가 이 가짜 Promise를 해석하려고 할 때 _response 객체를 처리합니다. _prefix 필드는 일반적으로 내부 스트림 버퍼링에 사용되지만, 이를 조작하여 원시 JavaScript를 주입할 수 있습니다.
  4. 샌드박스 우회: 최신 Next.js/Webpack 환경에서는 RCE를 방지하기 위해 require 함수가 전역 스코프에서 제거되는 경우가 많습니다. 이 스크립트는 process.mainModule 프로토타입 체인을 탐색하여 이를 우회합니다:
    root@kitploit:~
    var require = global.require || global.process.mainModule.constructor._load;
    
    이렇게 내부 모듈 로더를 가져와 child_process를 임포트하고 시스템 명령을 실행할 수 있습니다.
  5. 실행 및 유출: 주입된 코드는 동기적으로(execSync) 실행되며, 출력은 Error 객체로 던져집니다. 이 오류는 직렬화되어 HTTP 응답 본문을 통해 클라이언트에 반환되므로 명령 출력을 확인할 수 있습니다.

감사의 말

이 도구는 Gemini 3 Pro의 도움을 받아 개발되었습니다.

도구 다운로드