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

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

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

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

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

Категории

Все категории
Loading categories
analyze-Exploit-CVE-2023-22518-Confluence — Анализ эксплуатации CVE-2023-22518 для Atlassian Confluence Server, охватывающий настройку, сравнение JAR-файлов, первопричину и несанкционированное восстановление для повторного получения доступа администратора. | Kitploit
Инструменты/GitHubGitHub/d3ckkno0b/analyze-exploit-cve-2023-22518-confluence
Анализ уязвимостейАнализ КодаЭксплуатацияОбратная инженерияЭксплуатация веб-приложенийОтладчикиОбучение и Образование
GitHubd3ckkno0b/analyze-exploit-cve-2023-22518-confluence

analyze-Exploit-CVE-2023-22518-Confluence

Анализ эксплуатации CVE-2023-22518 для Atlassian Confluence Server, охватывающий настройку, сравнение JAR-файлов, первопричину и несанкционированное восстановление для повторного получения доступа администратора.

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

Популярное

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

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

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

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

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

Exploit-CVE-2023-22518 CVE-2023-22518 в Confluence

CVE-2023-22518 : Эта уязвимость описана как «уязвимость некорректной авторизации в базе данных и сервере Confluence». Ошибка затрагивает локальные (On-premises) версии продуктов Atlassian.

НАСТРОЙКА

Настройка среды. Используйте уязвимую версию 8.0.4. Ссылка для загрузки: https://product-downloads.atlassian.com/software/confluence/downloads/atlassian-confluence-8.0.4-x64.exe

image

Выберите Trial Installation, затем перейдите по ссылке, чтобы получить бесплатный пробный ключ (free trial key). Затем настройте кластер: выберите non-cluster. image

Затем переходим к настройке базы данных -> Выбираем MySQL image

Следуйте инструкциям:

Загрузите драйвер MySQL Поместите файл .jar в /home/lily/atlassian/confluence/confluence/WEB-INF/lib Перезапустите Confluence и продолжите процесс настройки. image Настройте базу данных: создайте пользователя и пароль

CREATE DATABASE securedb CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
CREATE USER 'admin123'@'localhost' IDENTIFIED BY 'supersecure';
GRANT ALL PRIVILEGES ON securedb.* TO 'admin123'@'localhost';
GRANT SUPER ON *.* TO 'your_username'@'your_host';
FLUSH PRIVILEGES;

Затем edit /etc/mysql/my.cnf . Добавьте следующие строки:

transaction-isolation = READ-COMMITTED
log_bin_trust_function_creators = 1

image

Затем перезапустите MySQL и Confluence. После этого зайдите на страницу настройки на localhost:8090 и заполните её, используя созданную базу данных.

image

Проверьте успешность подключения (Check connection), нажмите Next. Затем зарегистрируйтесь (Sign up).

image

ОТЛАДКА

** Сравните (diff) два jar-файла двух версий в IntelliJ **

  • В частности, здесь я сравниваю (diff) две версии: 8.0.4 и 7.19.16. Согласно описанию, сравниваются файлы confluence.jar двух версий.

image

  • Разница между пропатченной и непропатченной версиями — это @WebSudoRequired и @SystemAdminOnly. WebSudoRequired — это функция повышения безопасности административных сессий (administrator sessions). При попытке доступа к администрированию система потребует повторно ввести пароль, даже если вы уже вошли в систему. Добавляется дополнительный шаг аутентификации для обеспечения прав административного доступа.

SystemAdminOnly : Это функция, которая ограничивает административные функции только учётными записями администраторов. Это гарантирует, что только авторизованные учётные записи могут выполнять важные операции, влияющие на систему.

Устанавливаем точку останова (breakpoint) в validate() в RestoreAction.class

image

Функция сохранения загруженного файла — getRestoreFileFromUpload

image

GetExportDescriptor используется для распаковки (unzip) и чтения содержимого zip-файла

image

image

Однако после отладки (debug) корневую причину уязвимости так и не удалось найти.

Причина, описанная в CVE, — это уязвимость авторизации. Это приводит к тому, что мы обращаем внимание на исследования (research) уязвимостей языка Java в процессе разграничения прав разработчиками.

Переключаем внимание на файл struts.xml. Этот файл содержит информацию о действиях и маршрутизации на основе пространств имён, а также о перехватчиках (interceptors).

image

image

image

Мы видим, что namespace /json расширяет функциональность namespace /admin. Поэтому маршруты, созданные для namespace /admin, также доступны через namespace /json.

В контексте namespace /json процесс маршрутизации запроса включает прохождение через цепочку перехватчиков (interceptors). Один из этих перехватчиков, называемый WebSudoInterceptor, выполняет проверку на основе URI запроса.

Конкретно, WebSudoInterceptor выполняет следующие шаги проверки:

Если путь запроса — /authenticate.action, он пропускается. Если путь запроса — /admin, он проверяет, пуст ли атрибут WebSudoNotRequired.

Если запрос отправлен на '/json', то запрос к '/json/action' будет перенаправлен на '/setup/action' и 'admin/action'. В данном CVE уязвимый путь — '/json/setup-restore.action?synchronous=true'

Перехватываем запрос в Burp Suite: GET /json/setup-restore.action. Однако получаем ответ "Method Not Allowed". Пробуем POST /json/setup-restore.action?synchronous=true и получаем ответ 200.

image

image

Загружаем файл xmlexport-200123123001.zip

image

Отправляем и получаем ответ

image

Теперь мы можем войти, используя account admin :admin

image

И получаем следующий результат

image

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