
OWASP ASST (Automated Software Security Toolkit) | एक नवीन ओपन सोर्स वेब सुरक्षा स्कैनर
OWASP ASST (ऑटोमेटेड सॉफ्टवेयर सिक्योरिटी टूलकिट) | एक नवीन ओपन सोर्स वेब सुरक्षा स्कैनर।
नोट: AWSS, ASST का पुराना नाम है

वेब एप्लिकेशन दैनिक जीवन का एक अभिन्न हिस्सा बन गए हैं, लेकिन इनमें से कई एप्लिकेशन ऐसी गंभीर कमजोरियों के साथ तैनात किए जाते हैं जिनका घातक शोषण किया जा सकता है। जैसे-जैसे इन एप्लिकेशन को विकसित करने के लिए उपयोग की जाने वाली तकनीक परिष्कृत होती जा रही है, वैसे-वैसे हमलावरों की तकनीकें भी परिष्कृत होती जा रही हैं। हमलावरों को अब पीड़ितों तक शारीरिक पहुँच की आवश्यकता नहीं है, वे एक साथ कई पर हमला कर सकते हैं और पकड़े जाने व न्याय के कटघरे में लाए जाने की संभावना न्यूनतम है। वेब अनुप्रयोगों की सुरक्षा का आकलन करने के लिए स्वचालित वेब भेद्यता स्कैनर का भारी उपयोग किया गया है। वे पारंपरिक मैन्युअल भेद्यता पहचान की तुलना में स्कैनिंग की दक्षता में सुधार कर सकते हैं, जो समय लेने वाली, श्रम-गहन और अक्षम होती है। इंटरनेट पर बहुत सारे वेब भेद्यता स्कैनर उपलब्ध हैं, हालाँकि, वे संभावित हमले और उसके प्रति प्रतिरोधी उपायों की व्याख्या नहीं करते हैं। हमने एक नया स्वचालित वेब भेद्यता स्कैनर डिज़ाइन और कार्यान्वित किया है जिसे ऑटोमेटेड सॉफ्टवेयर सिक्योरिटी टूलकिट (ASST) कहा जाता है, जो एक वेब प्रोजेक्ट के स्रोत कोड को स्कैन करता है और प्रत्येक संभावित भेद्यता और उसके विरुद्ध सुरक्षा के तरीके के बारे में विस्तृत स्पष्टीकरण के साथ परिणामों की एक रिपोर्ट तैयार करता है। हमने ASST के प्रदर्शन का परीक्षण किया है, और इसके परिणामों की तुलना अन्य प्रमुख ओपन सोर्स भेद्यता स्कैनर से की है। हमारे परिणाम बताते हैं कि ASST वेब सॉफ्टवेयर सुरक्षा कमजोरियों को अधिक व्यापक और सटीक रूप से पहचान सकता है।
नोट: यह अभी भी विकास के अधीन है, कृपया, किसी भी त्रुटि की रिपोर्ट करें।
ASST एक ओपन सोर्स, स्रोत कोड स्कैनिंग टूल है, यह एक CLI (कमांड लाइन इंटरफ़ेस) एप्लिकेशन है, जिसे JavaScript (Node.js फ्रेमवर्क) के साथ विकसित किया गया है। वर्तमान में PHP और MySQL प्रोग्रामिंग भाषाओं पर ध्यान केंद्रित करता है, लेकिन चूंकि इसकी मुख्य कार्यक्षमताएँ तैयार हैं और सभी के लिए उपलब्ध हैं, प्रोग्रामर योगदान दे सकते हैं और इसमें प्लगइन्स या एक्सटेंशन जोड़ सकते हैं, ताकि सुविधाएँ जोड़ सकें और इसे Java, C#, Python आदि जैसी अन्य प्रोग्रामिंग भाषाओं और उनके फ्रेमवर्क के लिए स्कैन करने योग्य बना सकें। इसलिए इसका बुनियादी ढाँचा इस प्रकार डिज़ाइन किया गया है कि इसे अन्य प्रोग्रामर द्वारा बेहतर और अधिक नवीन बनाने के लिए योगदान दिया जा सके। हमारी जानकारी के अनुसार, ASST एकमात्र ऐसा टूल है जो OWASP टॉप 10 वेब एप्लिकेशन सुरक्षा जोखिमों के अनुसार PHP भाषा को स्कैन करता है।
जब ASST किसी प्रोजेक्ट को स्कैन करता है, तो वह सुरक्षा कमजोरियों के लिए प्रत्येक फ़ाइल की प्रत्येक पंक्ति की जाँच करता है। यदि कोई भेद्यता पाई जाती है, तो वह रिपोर्ट में सचेत करेगा कि किस फ़ाइल की किस पंक्ति में भेद्यता पाई गई और हमले की व्याख्या करने और उसके विरुद्ध सुरक्षा कैसे करें, इसके लिए एक "यहाँ क्लिक करें" लिंक प्रदान करेगा। ASST के परिणाम HTML रिपोर्ट के रूप में दिखाए जाते हैं जो प्रत्येक हमले और उसके सुरक्षा तंत्र की व्याख्या करने के लिए PDF फ़ाइलों से जुड़े होते हैं।
ASST को आसानी से विस्तारित किया जा सकता है ताकि अन्य प्रोग्रामिंग भाषाओं का समर्थन किया जा सके जिन्हें कमजोरियों के लिए स्कैन किया जा सके। परियोजना ओपन सोर्स है, इसलिए साइबर सुरक्षा में विशेषज्ञता वाले प्रोग्रामर योगदान दे सकते हैं या टूलकिट को फोर्क कर सकते हैं और सुविधाएँ जोड़ सकते हैं। Python, C#, Java या Node.js जैसी अन्य प्रोग्रामिंग भाषाओं को बैकएंड सर्वर कोड के रूप में कमजोरियों के लिए स्कैन करने के लिए जोड़ा जा सकता है।
यदि आप एक सुरक्षा-अनुभवी डेवलपर हैं, तो आप इस वर्तमान संस्करण को बेहतर बनाने में योगदान दे सकते हैं, या आप स्कैन करने के लिए नई प्रोग्रामिंग भाषाओं को जोड़ने में योगदान दे सकते हैं। लेकिन इसे बेहतर बनाते समय कुछ नियमों का पालन करना होगा:
ASST को 100% काम करने के लिए, आपको स्थापित करना होगा:
विंडोज पर ASST चलाने का पूरा वीडियो: https://youtu.be/FKxDa3zYz1E
आप यहाँ से विंडोज के लिए XAMPP डाउनलोड कर सकते हैं: https://www.apachefriends.org/download.html अपने प्रोजेक्ट के अनुकूल PHP संस्करण चुनें, यदि आप नहीं जानते कि कौन सा संस्करण चुनना है, तो बस विंडोज के लिए पहला संस्करण चुनें।
XAMPP को डाउनलोड और इंस्टॉल करने के बाद (Next, Next, Next, Finish), XAMPP कंट्रोल पैनल चलाएँ, आप स्टार्ट मेन्यू सर्च फील्ड में XAMPP टाइप कर सकते हैं फिर आप इसे देखेंगे, इसे चलाएँ, Apache और MySQL लेबल के आगे स्टार्ट दबाएँ (दो बटन)।
सुनिश्चित करें कि आपके PC पर वर्चुअल मशीन प्रोग्राम स्थापित नहीं है क्योंकि XAMPP और वर्चुअल मशीन पोर्ट पर विरोध करते हैं, आपको टास्क मैनेजर का उपयोग करके VM के पृष्ठभूमि सेवाओं को बलपूर्वक बंद करना होगा (Google करें, यदि आप नहीं जानते कि मैं किस बारे में बात कर रहा हूँ)।
सुनिश्चित करें कि Skype प्रोग्राम बंद है (ट्रे बार से भी), क्योंकि वे भी पोर्ट पर विरोध करते हैं, आप XAMPP शुरू करने के बाद Skype चला सकते हैं।
अपने प्रोजेक्ट के फ़ोल्डर को htdocs में रखें: डिफ़ॉल्ट: "C:\xampp\htdocs\YourProjectFolderName"
ब्राउज़र खोलें, टाइप करें: localhost/phpmyadmin, खाली डेटाबेस बनाएँ, अपनी project_database.sql फ़ाइल को इसमें आयात करें, अपने प्रोजेक्ट के फ़ोल्डर को खोलें और MySQL के localhost से कनेक्ट करने के लिए अपनी प्रोजेक्ट की कॉन्फ़िग फ़ाइल बदलें: डिफ़ॉल्ट कॉन्फ़िग: host: "localhost" या "127.0.0.1", username: "root", password: "" (Empty_String), database name: "dbname_you_chose_in_phpmyadmin"
आपको विंडोज के लिए Node.js का एक विशिष्ट संस्करण यहाँ से डाउनलोड करना होगा: https://nodejs.org/en/blog/release/v12.13.0/ चुनें (Windows 64-bit Installer), फिर डाउनलोड करें, Next, Next, Next और Finish।
हम हर महीने nodejs अपग्रेड के साथ नहीं चल रहे हैं, इसलिए यदि आप स्वयं इसका परीक्षण करना चाहते हैं, तो आप नवीनतम node.js संस्करण यहाँ से डाउनलोड कर सकते हैं: https://nodejs.org/en/download/ चुनें (Windows Installer (.msi)), डाउनलोड करें और चलाएँ, Next, Next, Next और Finish।
ASST के प्रोजेक्ट को इस github पेज से डाउनलोड और एक्सट्रैक्ट करें, फोल्डर का नाम केवल "ASST" रखें, "ASST-main" नहीं, ASST के फोल्डर को अपने वेब प्रोजेक्ट के बगल में ले जाएँ ताकि इसे स्कैन किया जा सके, डिफ़ॉल्ट: "C:\xampp\htdocs\ASST"
ASST के फोल्डर के अंदर config.js खोलें और DEFAULT_PROJECT_PATH_TO_SCAN वेरिएबल में स्कैन किए जाने वाले अपने वेब प्रोजेक्ट के फ़ोल्डर का नाम सेट करें।
ASST के फोल्डर के अंदर config_php_lang.js खोलें: यदि आप MySQL का उपयोग कर रहे हैं, तो आपको फ़ाइल में बताए अनुसार वेरिएबल सेट करने होंगे, यदि आप MySQL का उपयोग नहीं कर रहे हैं, तो बस IS_DBMS_USED वेरिएबल को false पर सेट करें, और बाकी को अनदेखा करें, ध्यान दें कि PHP_EXE_BIN_PATH XAMPP के डिफ़ॉल्ट स्थान पर सेट है, इसलिए यदि आप भिन्न PHP बाइनरी या भिन्न XAMPP स्थान का उपयोग कर रहे हैं तो इसे बदलें।
ASST को चलाने के लिए ASST.bat पर डबल-क्लिक करें। यदि यह Windows Defender Smart Screen द्वारा अवरुद्ध हो जाता है, तो More Info फिर Run या Run Anyway पर क्लिक करके इसे अनुमति दें, या आप इसे CMD कमांड का उपयोग करके चला सकते हैं।
इस प्रोजेक्ट के लिए node_modules स्थापित करने के लिए यह कमांड एक बार चलाएँ:
$ cd C:\xampp\htdocs\ASST && npm install
ASST चलाने के लिए डिफ़ॉल्ट CMD कमांड:
$ node C:\xampp\htdocs\ASST\main.js
Ubuntu पर ASST चलाने का पूरा वीडियो: https://youtu.be/XrAB8_BHxfo
वेब ब्राउज़र का उपयोग करके, यह लिंक खोलें: https://www.apachefriends.org/download.html और "XAMPP for Linux" अनुभाग देखें, अपने प्रोजेक्ट के अनुकूल PHP संस्करण चुनें और इसे डाउनलोड करें, यदि आप नहीं जानते कि कौन सा संस्करण चुनना है, तो बस पहला चुनें। या आप टर्मिनल के माध्यम से "wget" कमांड (टूल) का उपयोग करके XAMPP डाउनलोड कर सकते हैं, लेकिन आपके पास डाउनलोड करने के लिए सही url संस्करण होना चाहिए और उसे जानना होगा।
अब टर्मिनल में काम कर रहे हैं:
$ cd Downloads
$ ls
आपको अपने द्वारा डाउनलोड की गई XAMPP सेटअप फ़ाइल दिखनी चाहिए।
$ sudo chmod +x xampp-linux-*
$ sudo ./xampp-linux-*
सेटअप चलने के लिए एक सेकंड प्रतीक्षा करें, फिर निर्देशों का पालन करें। XAMPP को डाउनलोड और इंस्टॉल करने के बाद, इसे चलाएँ।
$ sudo /opt/lampp/lampp start
अपने प्रोजेक्ट के फ़ोल्डर को htdocs में रखें: डिफ़ॉल्ट: "/opt/lampp/htdocs/YourProjectFolderName"
ब्राउज़र खोलें, टाइप करें: localhost/phpmyadmin, खाली डेटाबेस बनाएँ, अपनी project_database.sql फ़ाइल को इसमें आयात करें, अपने प्रोजेक्ट के फ़ोल्डर को खोलें और MySQL के localhost से कनेक्ट करने के लिए अपनी प्रोजेक्ट की कॉन्फ़िग फ़ाइल बदलें: डिफ़ॉल्ट कॉन्फ़िग: host: "localhost" या "127.0.0.1", username: "root", password: "" (Empty_String), database name: "dbname_you_chose_in_phpmyadmin"
$ sudo apt-get install nodejs -y
$ sudo apt-get install npm -y
ASST को बिना किसी समस्या के काम करने देने के लिए आपको Node.js का एक विशिष्ट संस्करण सेट करना होगा।
$ sudo npm install n -g
$ sudo n 12.13.0
हम हर महीने nodejs अपग्रेड के साथ नहीं चल रहे हैं, इसलिए यदि आप स्वयं इसका परीक्षण करना चाहते हैं, तो आप npm का उपयोग करके "n" स्थापित करने के अंतिम दो कमांड को अनदेखा कर सकते हैं
ASST के प्रोजेक्ट को इस github पेज से डाउनलोड और एक्सट्रैक्ट करें, ब्राउज़र, wget या git का उपयोग करके, फोल्डर का नाम केवल "ASST" रखें, "ASST-main" नहीं, ASST के फोल्डर को अपने वेब प्रोजेक्ट के बगल में ले जाएँ ताकि इसे स्कैन किया जा सके, डिफ़ॉल्ट: "/opt/lampp/htdocs/ASST"
ASST के फोल्डर के अंदर config.js को nano, vim या टेक्स्ट एडिटर का उपयोग करके खोलें और DEFAULT_PROJECT_PATH_TO_SCAN वेरिएबल में स्कैन किए जाने वाले अपने वेब प्रोजेक्ट के फ़ोल्डर का नाम सेट करें।
ASST के फोल्डर के अंदर config_php_lang.js खोलें: यदि आप MySQL का उपयोग कर रहे हैं, तो आपको फ़ाइल में बताए अनुसार वेरिएबल सेट करने होंगे, यदि आप MySQL का उपयोग नहीं कर रहे हैं, तो बस IS_DBMS_USED वेरिएबल को false पर सेट करें, और बाकी को अनदेखा करें, ध्यान दें कि PHP_EXE_BIN_PATH XAMPP के डिफ़ॉल्ट स्थान पर सेट है, इसलिए यदि आप भिन्न PHP बाइनरी या भिन्न XAMPP स्थान का उपयोग कर रहे हैं तो इसे बदलें।
इस प्रोजेक्ट के लिए node_modules स्थापित करने के लिए यह कमांड एक बार चलाएँ:
$ cd /opt/lampp/htdocs/ASST && sudo npm install
ASST चलाने के लिए, डिफ़ॉल्ट कमांड:
$ sudo node /opt/lampp/htdocs/ASST/main.js
MacOSX पर ASST चलाने का पूरा वीडियो: https://youtu.be/IThRZEQVa7M
वेब ब्राउज़र का उपयोग करके, यह लिंक खोलें: https://www.apachefriends.org/download.html और "XAMPP for OSX" अनुभाग देखें, अपने प्रोजेक्ट के अनुकूल PHP संस्करण चुनें और इसे डाउनलोड करें, यदि आप नहीं जानते कि कौन सा संस्करण चुनना है, तो बस पहला चुनें।
Downloads फोल्डर खोलें और आपके द्वारा डाउनलोड की गई xampp-osx-.dmg फ़ाइल पर डबल-क्लिक करें। फिर इंस्टॉल करें: Next, Next, Next, Finish।
इंस्टॉलेशन के बाद, Finder का उपयोग करके Applications फोल्डर खोलें और XAMPP फोल्डर खोलें, XAMPP कंट्रोल पैनल खोलने के लिए manager-osx.app पर क्लिक करें, Manage Servers टैब पर क्लिक करें फिर Start All बटन पर क्लिक करें।
अपने प्रोजेक्ट के फ़ोल्डर को htdocs में रखें:
ब्राउज़र खोलें, टाइप करें: localhost/phpmyadmin, खाली डेटाबेस बनाएँ, अपनी project_database.sql फ़ाइल को इसमें आयात करें, अपने प्रोजेक्ट के फ़ोल्डर को खोलें और MySQL के localhost से कनेक्ट करने के लिए अपनी प्रोजेक्ट की कॉन्फ़िग फ़ाइल बदलें: डिफ़ॉल्ट कॉन्फ़िग: host: "localhost" या "127.0.0.1", username: "root", password: "", (Empty_String), database name: "dbname_you_chose_in_phpmyadmin"
MacOSX पर Node.js को डाउनलोड और इंस्टॉल करने के कई तरीके हैं, जो यहाँ निर्दिष्ट हैं: https://nodejs.org/en/download/package-manager/#macos
हमने उपयोग किया: brew (पैकेज सिस्टम), टर्मिनल खोलें:
$ sudo /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
$ sudo brew install node
ASST को बिना किसी समस्या के काम करने देने के लिए आपको Node.js का एक विशिष्ट संस्करण सेट करना होगा।
$ sudo npm install n -g
$ sudo n 12.13.0
हम हर महीने nodejs अपग्रेड के साथ नहीं चल रहे हैं, इसलिए यदि आप स्वयं इसका परीक्षण करना चाहते हैं, तो आप npm का उपयोग करके "n" स्थापित करने के अंतिम दो कमांड को अनदेखा कर सकते हैं
ASST के प्रोजेक्ट को इस github पेज से डाउनलोड और एक्सट्रैक्ट करें, ब्राउज़र या git का उपयोग करके, फोल्डर का नाम केवल "ASST" रखें, "ASST-main" नहीं, ASST के फोल्डर को अपने वेब प्रोजेक्ट के बगल में ले जाएँ ताकि इसे स्कैन किया जा सके, डिफ़ॉल्ट: "/Applications/XAMPP/htdocs/ASST"
ASST के फोल्डर के अंदर config.js को टेक्स्ट एडिटर का उपयोग करके खोलें, DEFAULT_PROJECT_PATH_TO_SCAN वेरिएबल में स्कैन किए जाने वाले अपने वेब प्रोजेक्ट के फ़ोल्डर का नाम डालें।
ASST के फोल्डर के अंदर config_php_lang.js खोलें: यदि आप MySQL का उपयोग कर रहे हैं, तो आपको फ़ाइल में बताए अनुसार वेरिएबल सेट करने होंगे, यदि आप MySQL का उपयोग नहीं कर रहे हैं, तो बस IS_DBMS_USED वेरिएबल को false पर सेट करें, और बाकी को अनदेखा करें, ध्यान दें कि PHP_EXE_BIN_PATH XAMPP के डिफ़ॉल्ट स्थान पर सेट है, इसलिए यदि आप भिन्न PHP बाइनरी या भिन्न XAMPP स्थान का उपयोग कर रहे हैं तो इसे बदलें।
इस प्रोजेक्ट के लिए node_modules स्थापित करने के लिए यह कमांड एक बार चलाएँ:
$ cd /Applications/XAMPP/htdocs/ASST && sudo npm install
ASST चलाने के लिए, डिफ़ॉल्ट कमांड:
$ sudo node /Applications/XAMPP/htdocs/ASST/main.js
विशेष धन्यवाद:
इस टूलकिट को अपने मार्गदर्शन और सहायता प्रदान करके संभव बनाने के लिए।