
CVE-2024-2961(CNEXT) PHP 파일 읽기에서 RCE로 이어지는 익스플로잇을 XXE/CTF 채널에 맞게 변형한 도구
Ambionics 공식 cnext-exploits의 PHP 파일 읽기 -> RCE 익스플로잇 스크립트를 SVG 업로드 + XXE 임의 파일 읽기 시나리오(PolarisCTF 2026 "아바타 업로더" 유형 문제)에 맞게 적응시킨 것입니다.
php://filter, data://, zlib 지원(스크립트 check_vulnerable()이 자동 검증)pip install -r requirements.txt(pwntools, ten, requests)| -> /: XML 엔티티 URL에 |가 포함되면 libxml 파싱 실패(실측 DOMDocument가 빈 문서 반환); php://filter는 접두사 없는 베어 필터를 / 구분으로 지원하며, read=a|b|c와 동일.LIBC_FILE을 상대 경로로 변경(Windows/Linux 모두 실행 가능).download_file은 open() 쓰기로 변경(ten 라이브러리가 내보내는 Path는 PosixPath 하위 클래스라 Windows에서 인스턴스화 불가).Remote 클래스 편집: 문제 API 주소, 계정/비밀번호 입력.Remote.send/download로 변환(예제 구현은 "SVG 업로드 + 조회 시 파싱" 인터페이스 형태 기준, 다른 형태는 참고하여 작성).-s sleep 타이밍으로 검증):python cnext-exploit-xxe-polaris.py <url> '/readflag > /var/www/html/uploads/flag_out.txt' -s 2
EXPLOIT SUCCESS가 표시된 후, 읽기 프리미티브로 출력 파일을 다시 읽으면 됩니다.