
Apache Struts 2 (CVE-2017-5638) के लिए मल्टीथ्रेडेड भेद्यता सत्यापनकर्ता जो HTTP हेडर इंजेक्शन के माध्यम से हजारों एंडपॉइंट्स को स्कैन करता है ताकि दुर्भावनापूर्ण पेलोड के बिना Struts-Shock का पता लगाया जा सके।
यह स्क्रिप्ट Apache Struts 2 भेद्यता (CVE-2017-5638) को मान्य करने के लिए है, जिसे Struts-Shock के नाम से भी जाना जाता है। यह पूरी तरह से हानिरहित है क्योंकि यह कोई दुर्भावनापूर्ण पेलोड इंजेक्ट नहीं करता, केवल 'STRUTS2-VALIDATION' नामक एक HTTP हेडर इंजेक्ट करता है ताकि यह पता लगाया जा सके कि यह भेद्य है या नहीं।
अपनी मल्टीथ्रेड क्षमता के कारण, यह दुनिया भर में फैले 2.5k+ अनुप्रयोगों को 10 मिनट से भी कम समय में चलाने में सक्षम है। इसलिए, यह बड़े पैमाने पर उद्यम अनुप्रयोगों को मान्य करने के लिए बहुत उपयोगी हो सकता है।
इस स्क्रिप्ट को चलाने के दो तरीके हैं, थ्रेडिंग के साथ और बिना थ्रेडिंग के, अंतर केवल निष्पादन समय का होगा। थ्रेडिंग सुविधा को सक्षम करने के लिए, बस थ्रेड पैरामीटर पास करना होगा।
पहला पैरामीटर एक TXT फ़ाइल होनी चाहिए जिसमें सभी लक्षित URL हों, प्रति पंक्ति एक। कृपया ध्यान दें कि ये URL पूर्ण होने चाहिए, उदाहरण के लिए, https://target.com/admin/myStrutsPage.action
यहां बिना थ्रेडिंग के उपयोग का उदाहरण है:
struts-shock-validation.py target_urls.txt
अब थ्रेड्स क्षमता का उपयोग करते हुए:
struts-shock-validation.py target_urls.txt thread
यह स्वचालित रूप से results नामक एक फ़ोल्डर बनाएगा, और प्रत्येक निष्पादन पर निष्पादन की तारीख के साथ एक फ़ोल्डर बनाएगा जिसमें निष्पादन का परिणाम होगा। यदि थ्रेडिंग सक्षम है, तो यह प्रति थ्रेड एक फ़ाइल बनाएगा जिसका नाम thread_ होगा, जिसे अनदेखा किया जा सकता है क्योंकि जब यह पूरा हो जाता है तो यह सभी थ्रेड के परिणामों को एक एकल TXT फ़ाइल में समेकित कर देगा जिसका नाम (दिनांक/टाइमस्टैंप) इसके निष्पादन फ़ोल्डर के समान होगा।