169 похожих чатов

Пока не вчитывался в новую CVE-2023-22518 10/10, но знаю о

CVE-2023-22515 и думаю, что они похожи.

То, почему она стала возможна, заключается в особенностях маршрутизации внутри фреймворка, который использует Confluence.

А работает он на базе Apache Struts, который, в свою очередь, использует XWork.

Это важно, потому что особенность XWork позволяет определять действия "Action" в виде Java-классов. Открываем страницу http://<confluence>/login.action, у приложения вызывается метод "execute" класса "Login".

А еще XWork умеет взаимодействовать с геттерами и сеттерами с помощью CGI-параметров. Добавим к прошлому URL ?Id=123 и вызовем setId("123") из уже знакомого Login.

У Login есть метод, который возвращает объект BootstrapStatusProvider, мы тоже можем его вызвать. А тот, в свою очередь, расширяет ActionSupport и наследует уже все его методы.

Ну, вы поняли. Раскрутив всю цепочку из геттеров, можно дойти до самого главного класса ApplicationConfig. Он управляет конфигурацией приложения и у него, как можно было доказаться, есть сеттер setupComplete.

Если мы его переопределим, то сможем заново инициализировать приложение. Для этого достаточно отправить запрос https://<confluence>/server-info.action?bootstrapStatusProvider.applicationConfig.setupComplete=false

А дальше открыть
https://<confluence>/setup/setupadministrator-start.action
поменять пароль админа и зайти.

Сам Confluence организует работу в куче компаний, поэтому его компрометация грозит получением доступа над всем воркспейсом сотрудников.

А эксплоит под новую CVE вы можете взять тут https://github.com/sanjai-AK47/CVE-2023-22518

1 ответов

61 просмотр
Павел-Дузов Автор вопроса

Супер находка

Похожие вопросы

Обсуждают сегодня

а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Всем привет! Подскажите. Я написал приложение на Delphi 10.2 Tokyo под Windows 10. И передо мной стал вопрос о том чтобы сделать это приложение кроссплатформенным (под Linux и...
Дмитрий Завгородний
24
Почему стало ломаться на D11? "739002.86400000' is not a valid timestamp" function IncDateTime(aStamp:TTimeStamp;aKind:TTriggerKind;aInterval:Integer):TDateTime; //aStamp = 2...
Катерина Свиридова
8
Привет всем. Подскажите где можно посмотреть, какая версия электрон, поддерживает версии windows? Некий changelog. Мне бы желательно, поддержку 7,8,10... latest, как понимаю и...
Anonym Squad
21
Портфолио: Зовут меня Александр, мне 36 лет. Город Пушкино. Общий рабочий стаж: ~14 лет Уровень квалификации: Senior Full-stack developer Где прочесть мой код? https://github....
Magic
10
Есть ли смысл устраиваться на 1с ? Даст это плюс в дальнейшем трудоустройстве на php? Просто у меня в городе вакансий на пхп нету. Или лучше удаленно искать. Опыта работы нету...
Azamat
14
а где есть mysql cloud кроме яндекс-клауд?
Oleg Nosov
13
hi im a cs student. i need some advice from people who have enough experience in Embedded Software. I need to know whether this profession is suitable for me. I have watched s...
Sahand 🏔️
8
Не ну фпц - это уже просто троллинг какой-то. Элементарный код нельзя собрать. ЧЯДНТ? program Project1; {$mode delphi} uses SysUtils, Classes, Generics.Collections; var...
Peter
4
вот что получается в интерпрететоре, работает и результаты выгляд разумными, но то как выглядит код мне не нравиться, а понять куда двигаться не очень могу, если кому не лень ...
Fedor
42
Карта сайта