
CVE-2025-32429 익스플로잇 – XWiki REST API의 SQLi (getdeleteddocuments.vm).
Author: Byte Reaper
Telegram: @ByteReaper0
CVE: CVE‑2025‑32429
Vulnerability: XWiki LiveData REST API의 블라인드 SQL 인젝션
Affected File: getdeleteddocuments.vm (sort 매개변수)
XWiki Platform의 LiveData REST 엔드포인트에서 getdeleteddocuments.vm의 sort 매개변수를 사용할 때 블라인드 SQL 인젝션 취약점이 존재합니다. 공격자는 임의의 SQL 구문을 주입할 수 있으며, 시간 기반 페이로드(SLEEP) 또는 유니온 기반 쿼리를 활용하여 데이터베이스 내용을 열거할 수 있습니다.
이 저장소는 다음을 수행하는 C 기반 PoC를 제공합니다:
Compile:
gcc -o exploit exploit.c argparse.c -lcurl
./exploit -u <BASE_URL> [-c cookies.txt] [-v] -u, --url : 대상 XWiki 인스턴스의 기본 URL
-c, --cookies : (선택 사항) 인증된 세션을 위한 쿠키 파일 경로
-v, --verbose : 상세 디버그 출력 활성화
Examples 공개 인스턴스에 대한 인증 없는 테스트
./exploit -u http://victim.com 인증된 컨텍스트를 위한 쿠키 사용
./exploit -u https://intranet.xwiki.local -c session.txt -v
WAF 탐지
User-Agent: sqlmap으로 무해한 페이로드를 전송합니다.
차단 HTTP 코드(403/404/503), 비정상적인 리디렉션, 시간 지연, 응답 내 시그니처 키워드, 연결 재설정을 확인합니다.
익스플로잇 루프
미리 정의된 SQL 페이로드(불리언 검사, SLEEP() 인젝션, 유니온 쿼리)를 반복 실행합니다.
시간 기반 인젝션 탐지를 위해 총 요청 시간(CURLINFO_TOTAL_TIME)을 측정합니다.
인젝션 성공을 확인하기 위해 응답 본문에서 SQL 키워드(select, union 등)를 검색합니다.
sort 매개변수를 적절히 정제하는 getdeleteddocuments.vm이 포함된 XWiki 버전으로 업그레이드하세요.
매개변수화된 쿼리를 적용하거나 허용 가능한 정렬 필드를 화이트리스트로 관리하세요.
매개변수 내 예상치 못한 SQL 메타문자를 정규화하고 거부하는 WAF 또는 입력 검증 계층을 배포하세요.
MIT