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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2023-22515 — Пошаговое руководство по эксплуатации уязвимости CVE-2023-22515, критической уязвимости нарушения контроля доступа в Atlassian Confluence Server и Data Center, позволяющей удаленно создавать учетные записи администратора. | Kitploit
Инструменты/GitHubGitHub/tranphuc2005/cve-2023-22515
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеОбучение и Образование
GitHubtranphuc2005/cve-2023-22515

CVE-2023-22515

Пошаговое руководство по эксплуатации уязвимости CVE-2023-22515, критической уязвимости нарушения контроля доступа в Atlassian Confluence Server и Data Center, позволяющей удаленно создавать учетные записи администратора.

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

Популярное

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

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

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

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

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

CVE-2023-22515

Основная информация о CVE-2023-22515

  • Затронутые продукты: Atlassian Confluence Data Center & Confluence Server.
  • Дата публикации: 04/10/2023.
  • Уровень: Critical (CVSS ~ 10.0).
  • Тип уязвимости: Broken Access Control / Improper Authorization → позволяет атакующему создать учетную запись администратора удаленно.
  • Ошибка находится в механизме настройки Confluence
  • Влияние: Confluence Data Center & Server 8.0.0 → 8.5.1.

Реализация поиска уязвимости

  • Сначала при установке Confluence есть шаг настройки сервера, например, подключение к БД, создание пользователя и т.д. Эти действия выполняются через веб-браузер по адресам URL /setup/. Последним шагом настройки будет /setup/setupadministrator.action.
  • После завершения эти настройки не вызываются. Если мы попытаемся вызвать их, то получим сообщение об ошибке.

1

  • Это исходит от одного из перехватчиков — SetupCheckInterceptor в struts.xml

  • struts.xml — это центральный файл конфигурации для Struts.

  • Он определяет, как Confluence сопоставляет URL → класс Action → шаблон представления.

  • А также объявляет перехватчики (классы, которые обрабатывают запрос до/после выполнения действия).

  • 1

    В SetupCheckInterceptor вызывается BootstrapUtils.getBootstrapManager().isSetupComplete()

    root@kitploit:~
    public String intercept(ActionInvocation actionInvocation) throws Exception {
        if (BootstrapUtils.getBootstrapManager().isSetupComplete() && ContainerManager.isContainerSetup())
            return "alreadysetup"; 
        return actionInvocation.invoke();
    }
    

    Объяснение

    • BootstrapUtils.getBootstrapManager().isSetupComplete()
      → Проверяет, завершил ли Confluence процесс настройки (через мастер, ввод лицензии, создание пользователя-администратора).
    • ContainerManager.isContainerSetup()
      → Проверяет, полностью ли инициализирован контейнер Spring IoC.
    • Если оба условия истинны:
      → Это означает, что система полностью настроена → перехватчик немедленно возвращает "alreadysetup".
      → Не позволяет выполнить действие (обычно это действия настройки, такие как SetupDatabaseAction, SetupLicenseAction и т.д.).
    • Если настройка не завершена:
      → Вызывается actionInvocation.invoke() — то есть продолжается выполнение запрошенного пользователем действия.

    getBootstrapManager() → обычно возвращает DefaultAtlassianBootstrapManager, который управляет всей основной информацией конфигурации во время настройки.

    • В DefaultAtlassianBootstrapManager.isSetupComplete мы видим, что вызывается метод конфигурации приложения isSetupComplete, чтобы проверить, завершена ли настройка.

    1

    => Если мы сделаем isSetupComplete = False, то SetupCheckInterceptor не вернет “alreadysetup”, и /setup/setupadministrator.action станет доступен.

    Ниже у нас есть ServerInfoAction

    • ServerInfoAction = публичное действие в Confluence → позволяет любому пользователю вызвать его без входа в систему и без CSRF-токена. При выполнении оно возвращает "success" → сопоставляется с шаблоном, отображающим информацию о сервере.

    1

    • Он наследуется от ConfluenceActionSupport

    • В ConfluenceActionSupport мы видим, что getBootstrapStatusProvider возвращает BootstrapStatusProviderImpl — экземпляр, который мы ищем.

    1

    • В BootstrapStatusProviderImpl есть метод getApplicationConfig, который возвращает конфигурацию приложения.

    1

    • Наконец, внутри ApplicationConfig видно, что он реализует проверку setSetupComplete.

    1

    • Объединяя вышесказанное, мы можем вывести цепочку методов для установки setSetupComplete = false
    root@kitploit:~
    getBootstrapStatusProvider(). getApplicationConfig (). setSetupComplete ( false );
    

    XWorks2 позволяет нам выполнять такую цепочку геттеров/сеттеров, и мы можем сконструировать HTTP-параметр для реализации этой цепочки вызовов методов, используя нотацию, требуемую XWorks2.

    root@kitploit:~
    bootstrapStatusProvider.applicationConfig.setupComplete=false
    

    Мы воспользуемся /server-info.action — это URL в Confluence, обрабатываемый ServerInfoAction, так как это публичная конечная точка, не требующая входа в систему.

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

    1

    Давайте проверим отладку:

    • setupComplete (параметр, передаваемый в метод)
      → false
      То есть метод вызывается с параметром false.
    • this.setupComplete (переменная экземпляра объекта ApplicationConfig)
      → true (перед присваиванием).
    • После выполнения команды → this.setupComplete станет false.

    1

    • После завершения вышеуказанного шага давайте попробуем снова зайти на эндпоинт /setup/setupadministrator.action — успех.

    1

    • После создания войдите в систему и проверьте права.

    1

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