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

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

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

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

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

Категории

Все категории
Loading categories
Exploit-CVE-2023-22518 — Эксплойт для CVE-2023-22518 в Atlassian Confluence. Предоставляет подробное описание уязвимости, включая настройку среды, анализ первопричин через diffing и шаги эксплуатации для получения доступа администратора. | Kitploit
Инструменты/GitHubGitHub/lilly-dox/exploit-cve-2023-22518
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеОбучение и ОбразованиеЛаборатории и Практика
GitHublilly-dox/exploit-cve-2023-22518

Exploit-CVE-2023-22518

Эксплойт для CVE-2023-22518 в Atlassian Confluence. Предоставляет подробное описание уязвимости, включая настройку среды, анализ первопричин через diffing и шаги эксплуатации для получения доступа администратора.

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
Репозиторий
12 лет назадЕщё не проверено

Exploit-CVE-2023-22518

CVE-2023-22518 в Confluence

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

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

1

Выберите Trial Installation, затем нажмите на ссылку, чтобы получить бесплатный пробный ключ. После этого настройте кластер: выберите non-cluster
2

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

3

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

  1. Скачайте драйвер MySQL
  2. Поместите .jar файл в /home/lily/atlassian/confluence/confluence/WEB-INF/lib
  3. Перезапустите Confluence и продолжите процесс настройки.

4 Настройка базы данных, создание пользователя и пароля

root@kitploit:~
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;

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

root@kitploit:~
transaction-isolation = READ-COMMITTED
log_bin_trust_function_creators = 1

5

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

6

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

7

Отладка

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

image

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

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

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

Screenshot 2024-03-24 081621

функция сохранения загруженного файла с помощью getRestoreFileFromUpload

Screenshot (541)

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

Screenshot (542)

Screenshot (543)

Однако после отладки первопричина уязвимости все еще не найдена.

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

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

Screenshot 2024-03-24 082951

Screenshot 2024-03-24 083107

Screenshot 2024-03-24 083206

9

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

В контексте пространства имен /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 response" .
Попробуйте POST /json/setup-restore.action?synchronous=true
и получите ответ 200

10

11

Загрузите файл xmlexport-200123123001.zip

12

и получите ответ

13

Теперь мы можем войти с учетной записью admin :admin

14

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

15

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