Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!
Apache-Solr-RCE-via-Velocity-template — Эксплойт для удалённого выполнения кода в Apache Solr через инъекцию шаблонов Velocity, позволяющий выполнять команды на уязвимых экземплярах с помощью специально сформированных POST-запросов. | Kitploit
Эксплойт для удалённого выполнения кода в Apache Solr через инъекцию шаблонов Velocity, позволяющий выполнять команды на уязвимых экземплярах с помощью специально сформированных POST-запросов.
Когда атакующий имеет прямой доступ к консоли Solr, он может изменить файл конфигурации этого узла, отправив POST-запрос вида /节点名/config.
Apache Solr по умолчанию включает плагин VelocityResponseWriter. В параметрах инициализации этого плагина опция params.resource.loader.enabled управляет тем, разрешено ли загрузчику ресурсов параметров указывать шаблон в параметрах запроса Solr; по умолчанию установлено значение false. Когда для params.resource.loader.enabled установлено значение true, пользователю разрешается указывать загрузку соответствующих ресурсов через параметры запроса. Это означает, что атакующий может выполнить команды на сервере, отправив специально сформированный вредоносный запрос.
Перейдите на http://x.x.x.x:8983/solr/#/ для входа в главный интерфейс и нажмите Core Selector слева, чтобы просмотреть имя коллекции.
Используйте следующие два payload:
Изменение настроек коллекции
Выполнение команды
Команда успешно выполнена!
Метод 2: Проверка с помощью скрипта
Рекомендации по устранению уязвимости:
Рекомендуется убедиться, что сетевые настройки разрешают взаимодействие с Solr только доверенному трафику.
Установите для params.resource.loader.enabled значение false, а затем сделайте файл конфигурации доступным только для чтения.
По умолчанию для params.resource.loader.enabled установлено значение false, и файла конфигурации нет. Если требуется изменить это значение или принудительно изменить его, понадобится файл конфигурации.
По умолчанию файл конфигурации узла configoverlay.json имеет права на чтение и запись.
Путь к файлу конфигурации: (в зависимости от конкретной ситуации)
Установите для всех params.resource.loader.enabled в configoverlay.json значение false. Если configoverlay.json отсутствует, рекомендуется создать его вручную, а затем установить для него права только на чтение.
Описание EXP:
Необходимо выполнить поиск узлов (search node) и перебором определить, какие из них можно использовать для POST-запросов.
Необходимо определить версию операционной системы и ввести команду для выполнения операции.