owasp zap tutorial comprehensive review owasp zap tool
यह ट्यूटोरियल बताता है कि ओडब्ल्यूएएसपी जेडएपी क्या है, यह कैसे काम करता है, जेडएपी प्रॉक्सी कैसे स्थापित करें और सेटअप करें। इसमें ZAP प्रमाणीकरण और उपयोगकर्ता प्रबंधन का डेमो भी शामिल है:
पेन परीक्षण के लिए ZAP का उपयोग क्यों करें?
एक सुरक्षित वेब एप्लिकेशन विकसित करने के लिए, किसी को पता होना चाहिए कि उन पर हमला कैसे किया जाएगा। यहां, वेब ऐप सुरक्षा या पेनेट्रेशन टेस्टिंग की आवश्यकता है।
सुरक्षा उद्देश्यों के लिए, कंपनियां भुगतान किए गए टूल का उपयोग करती हैं, लेकिन OWASP ZAP एक शानदार ओपन-सोर्स विकल्प है जो पेनेट्रेशन टेस्टिंग को परीक्षकों के लिए आसान बनाता है।
आप क्या सीखेंगे:
- OWASP ZAP क्या है?
- ZAP कैसे काम करता है?
- ZAP प्रमाणीकरण, सत्र और उपयोगकर्ता प्रबंधन
- ZAP Html रिपोर्ट नमूना
- निष्कर्ष
OWASP ZAP क्या है?
पेनेट्रेशन परीक्षण एक हमलावर के होने से पहले कमजोरियों को खोजने में मदद करता है। OSWAP ZAP एक ओपन-सोर्स फ्री टूल है और इसका उपयोग पैठ परीक्षण करने के लिए किया जाता है। जैप का मुख्य लक्ष्य वेब अनुप्रयोगों में कमजोरियों को खोजने के लिए आसान पैठ परीक्षण की अनुमति देना है।
ZAP लाभ:
- जैप क्रॉस-प्लेटफॉर्म प्रदान करता है यानी यह सभी ओएस (लिनक्स, मैक, विंडोज) पर काम करता है
- जैप पुन: प्रयोज्य है
- रिपोर्ट तैयार कर सकते हैं
- शुरुआती के लिए आदर्श
- नि: शुल्क उपकरण
ZAP कैसे काम करता है?
ZAP एक प्रॉक्सी सर्वर बनाता है और सर्वर से गुजरने के लिए वेबसाइट ट्रैफ़िक बनाता है। ZAP में ऑटो स्कैनर का उपयोग वेबसाइट पर कमजोरियों को रोकने में मदद करता है।
बेहतर समझ के लिए इस प्रवाह चार्ट का संदर्भ लें:
Android के लिए सबसे अच्छा सेल फोन जासूस
ZAP शब्दावली
ZAP सेटअप को कॉन्फ़िगर करने से पहले, हमें कुछ ZAP शब्दावली समझें:
(१) सत्र : सत्र का मतलब केवल हमले के क्षेत्र की पहचान करने के लिए वेबसाइट के माध्यम से नेविगेट करना है। इस प्रयोजन के लिए, मोज़िला फ़ायरफ़ॉक्स जैसे किसी भी ब्राउज़र का उपयोग इसकी प्रॉक्सी सेटिंग्स को बदलकर किया जा सकता है। अन्यथा हम जैप सत्र को .session के रूप में सहेज सकते हैं और पुन: उपयोग कर सकते हैं।
# 2) संदर्भ: इसका अर्थ है वेब एप्लिकेशन या URL का एक सेट। जेडएपी में बनाया गया संदर्भ निर्दिष्ट एक पर हमला करेगा और बहुत अधिक डेटा से बचने के लिए बाकी की अनदेखी करेगा।
# 3) ZAP हमलों के प्रकार: आप URL को मारकर और स्कैन करके विभिन्न ZAP हमले प्रकारों का उपयोग करके भेद्यता रिपोर्ट तैयार कर सकते हैं।
सक्रिय स्कैन: हम कई तरीकों से जैप का उपयोग करके एक सक्रिय स्कैन कर सकते हैं। पहला विकल्प है जल्दी शुरू, जो ZAP टूल के स्वागत पृष्ठ पर मौजूद है। कृपया नीचे स्क्रीनशॉट देखें:
क्विक स्टार्ट 1
उपरोक्त स्क्रीनशॉट ZAP के साथ आरंभ करने का सबसे तेज़ तरीका दिखाता है। त्वरित प्रारंभ टैब के तहत URL दर्ज करें, हमला बटन दबाएं, और फिर प्रगति शुरू होती है।
त्वरित प्रारंभ निर्दिष्ट URL पर मकड़ी चलाता है और फिर सक्रिय स्कैनर चलाता है। एक स्पाइडर निर्दिष्ट URL से शुरू होने वाले सभी पृष्ठों पर क्रॉल करता है। अधिक सटीक होने के लिए, Quickstart पृष्ठ 'बिंदु और शूट' जैसा है।
क्विक स्टार्ट 2
यहां, लक्ष्य URL सेट करने पर, हमला शुरू होता है। आप सामग्री की खोज करने के लिए URL को स्पाइडर करने के रूप में प्रगति की स्थिति देख सकते हैं। यदि हम बहुत अधिक समय ले रहे हैं तो हम मैन्युअल रूप से हमले को रोक सकते हैं।
के लिए एक और विकल्प सक्रिय स्कैन यह है कि हम ZAP प्रॉक्सी ब्राउज़र में URL को एक्सेस कर सकते हैं क्योंकि जैप अपने आप इसका पता लगा लेगा। URL पर राइट क्लिक करने पर -> एक्टिव स्कैन लॉन्च होगा। क्रॉल पूरा होने के बाद, सक्रिय स्कैन शुरू हो जाएगा।
हमले की प्रगति सक्रिय स्कैन टैब में प्रदर्शित की जाएगी। और स्पाइडर टैब हमले के परिदृश्यों के साथ सूची URL दिखाएगा। एक बार सक्रिय स्कैन पूरा हो जाने के बाद, परिणाम अलर्ट टैब में प्रदर्शित होंगे।
कृपया नीचे का स्क्रीनशॉट देखें सक्रिय स्कैन 1 तथा सक्रिय स्कैन 2 स्पष्ट समझ के लिए।
सक्रिय स्कैन 1
सक्रिय स्कैन 2
# 4) स्पाइडर: स्पाइडर वेबसाइट में URL की पहचान करता है, हाइपरलिंक की जांच करता है और इसे सूची में जोड़ता है।
# 5) अजाक्स स्पाइडर: उस स्थिति में जहां हमारा एप्लिकेशन जावास्क्रिप्ट का भारी उपयोग करता है, ऐप की खोज के लिए AJAX स्पाइडर के लिए जाएं।मैं समझा दूंगा अजाक्स मकड़ी मेरे अगले ट्यूटोरियल में विस्तार से।
# 6) अलर्ट : वेबसाइट की कमजोरियों को उच्च, मध्यम और निम्न अलर्ट के रूप में चिह्नित किया जाता है।
ZAP स्थापना
अब, हम ZAP इंस्टॉलेशन सेटअप को समझेंगे। सबसे पहले, डाउनलोड करें जैप स्थापित करें । जैसा कि मैं विंडोज 10 का उपयोग कर रहा हूं, मैंने तदनुसार विंडोज 64 बिट इंस्टॉलर डाउनलोड किया है।
जैप स्थापना के लिए पूर्व-आवश्यकताएं: जावा 7 की आवश्यकता है। यदि आपके सिस्टम में जावा स्थापित नहीं है, तो पहले प्राप्त करें। फिर हम ZAP को लॉन्च कर सकते हैं।
सेटअप ZAP ब्राउज़र
सबसे पहले, सभी सक्रिय फ़ायरफ़ॉक्स सत्रों को बंद करें।
जैप टूल लॉन्च करें >> टूल्स मेनू पर जाएं >> विकल्प चुनें >> लोकल प्रॉक्सी चुनें >> वहां हम एड्रेस को लोकलहोस्ट (127.0.0.1) और पोर्ट 8080 के रूप में देख सकते हैं, अगर यह पहले से इस्तेमाल कर रहा है तो हम दूसरे पोर्ट में बदल सकते हैं, मैं 8099 में बदल रहा हूं। कृपया नीचे दिए गए स्क्रीनशॉट की जांच करें:
जैप 1 में स्थानीय प्रॉक्सी
अब, मोज़िला फ़ायरफ़ॉक्स >> विकल्प चुनें >> एडवांस टैब >> उस सेलेक्ट नेटवर्क में >> कनेक्शन सेटिंग्स >> सेलेक्ट ऑप्शन मैनुअल प्रॉक्सी कॉन्फ़िगरेशन। जैप टूल में उसी पोर्ट का उपयोग करें। मैंने ZAP में मैन्युअल रूप से 8099 में बदल दिया है और फ़ायरफ़ॉक्स ब्राउज़र में भी इसका उपयोग किया है। प्रॉक्सी ब्राउज़र के रूप में स्थापित फ़ायरफ़ॉक्स कॉन्फ़िगरेशन के स्क्रीनशॉट के नीचे की जाँच करें।
फ़ायरफ़ॉक्स प्रॉक्सी सेटअप 1
अपने ब्राउज़र का उपयोग करके अपने एप्लिकेशन को कनेक्ट करने का प्रयास करें। यहां, मैंने कनेक्ट करने का प्रयास किया है फेसबुक और यह कहता है कि आपका कनेक्शन सुरक्षित नहीं है। इसलिए आपको एक अपवाद जोड़ने की आवश्यकता है, और फिर फेसबुक पेज पर नेविगेट करने के लिए सुरक्षा अपवाद की पुष्टि करें। कृपया नीचे स्क्रीनशॉट देखें:
वेबपेज -प्रोसेसर ब्राउज़र तक पहुँचें 1
वेबपेज -प्रोसेसर ब्राउज़र २ पर पहुँचें
वेबपेज -प्रोसेसर ब्राउज़र 3 पर पहुँचें
उसी समय, जैप की साइटों के टैब के तहत, फेसबुक पेज के लिए बनाए गए नए सत्र की जांच करें। जब आपने अपने एप्लिकेशन को सफलतापूर्वक कनेक्ट कर लिया है, तो आप ZAP के इतिहास टैब में अधिक लाइनें देख सकते हैं।
जैप आमतौर पर अतिरिक्त कार्यक्षमता प्रदान करता है जिसे राइट-क्लिक मेनू द्वारा एक्सेस किया जा सकता है, जैसे,
राइट-क्लिक करें >> HTML >> सक्रिय स्कैन, फिर zap सक्रिय स्कैन और प्रदर्शन परिणाम प्रदर्शित करेगा।
यदि आप ब्राउज़र का उपयोग करके अपने एप्लिकेशन को कनेक्ट नहीं कर सकते हैं, तो अपनी प्रॉक्सी सेटिंग फिर से जांचें। आपको ब्राउज़र और ZAP प्रॉक्सी सेटिंग्स दोनों को जांचना होगा।
ZAP में रिपोर्ट तैयार करना
एक्टिव स्कैन हो जाने के बाद, हम रिपोर्ट तैयार कर सकते हैं। इसके लिए OWASP ZAP >> रिपोर्ट >> एचटीएमएल रिपोर्ट उत्पन्न करें >> फ़ाइल पथ प्रदान करें >> स्कैन रिपोर्ट निर्यात की गई। हमें सभी संभावित खतरों की पहचान करने और उन्हें ठीक करने के लिए रिपोर्टों की जांच करने की आवश्यकता है।
ZAP प्रमाणीकरण, सत्र और उपयोगकर्ता प्रबंधन
आइए हम प्रमाणीकरण, सत्र और उपयोगकर्ता प्रबंधन को संभालने के लिए अन्य जैप सुविधा पर जाएं। कृपया मुझे कोई भी क्वेरी बताएं जो आपके मन में टिप्पणी से संबंधित हो।
मूल अवधारणा
- प्रसंग : यह एक वेब एप्लिकेशन या URL के सेट को एक साथ दर्शाता है। किसी दिए गए संदर्भ के लिए, प्रमाणीकरण और सत्र प्रबंधन प्रक्रिया को अनुकूलित और कॉन्फ़िगर करने के लिए नए टैब जोड़े जाते हैं। विकल्प सत्र गुण संवाद .i.e सत्र गुण संवाद में उपलब्ध हैं -> संदर्भ -> आप या तो डिफ़ॉल्ट विकल्प का उपयोग कर सकते हैं या एक नया संदर्भ नाम जोड़ सकते हैं।
- सत्र प्रबंधन विधि: सत्र प्रबंधन विधियों के 2 प्रकार हैं। अधिकतर, कुकी-आधारित सत्र प्रबंधन का उपयोग किया जाता है, जो संदर्भ के साथ जुड़ा हुआ है।
- प्रमाणन विधि: मुख्य रूप से ZAP द्वारा उपयोग की जाने वाली 3 प्रकार की प्रामाणिक विधि हैं:
- फॉर्म-आधारित प्रमाणीकरण विधि
- मैनुअल प्रमाणीकरण
- HTTP प्रमाणीकरण
- उपयोगकर्ता प्रबंधन: एक बार प्रमाणीकरण योजना कॉन्फ़िगर हो जाने के बाद, प्रत्येक संदर्भ के लिए उपयोगकर्ताओं का एक समूह परिभाषित किया जा सकता है। इन उपयोगकर्ताओं को विभिन्न कार्यों के लिए उपयोग किया जाता है ( उदाहरण के लिए, उपयोगकर्ता के रूप में स्पाइडर URL / संदर्भ, उपयोगकर्ता X के रूप में सभी अनुरोध भेजें)। जल्द ही, अधिक कार्य प्रदान किए जाएंगे जो उपयोगकर्ताओं का उपयोग करेंगे।
'प्रमाणीकरण-उपयोगकर्ता' एक्सटेंशन पुराने प्रमाणीकरण एक्सटेंशन को बदलने के लिए लागू किया गया है जो पुन: प्रमाणीकरण कर रहा था। एक via फोर्स्ड-यूजर 'मोड अब टूलबार (पुराने प्रमाणीकरण एक्सटेंशन के समान आइकन) के माध्यम से उपलब्ध है।
किसी उपयोगकर्ता को दिए गए संदर्भ के लिए ced फोर्स्ड-यूजर ’के रूप में स्थापित करने या इसे सक्षम करने के बाद, ZAP के माध्यम से भेजे गए प्रत्येक अनुरोध को स्वचालित रूप से संशोधित किया जाता है ताकि यह इस उपयोगकर्ता के लिए भेजा जाए। यदि प्रमाणीकरण की कमी है, तो यह मोड स्वचालित रूप से (विशेष रूप से फॉर्म-आधारित प्रमाणीकरण के साथ संयोजन के रूप में) पुन: प्रमाणीकरण करता है, यह पता चला है।
हमें एक डेमो देखें:
चरण 1:
सबसे पहले, ZAP लॉन्च करें और प्रॉक्सी ब्राउज़र में URL का उपयोग करें। यहाँ, मैंने नमूना URL के रूप में लिया है https://tmf-uat.iptquote.com/login.php । उन्नत पर क्लिक करें -> अपवाद जोड़ें -> पृष्ठ 6 और 7 में सुरक्षा अपवाद की पुष्टि करें। फिर लैंडिंग पृष्ठ प्रदर्शित होता है। उसी समय ZAP अपने आप में नए सत्र के रूप में साइट के तहत वेबपेज लोड करता है। निचे इमेज में देखें।
चरण 2:
इसे एक संदर्भ में शामिल करें। इसे डिफ़ॉल्ट संदर्भ में शामिल करके या इसे नए संदर्भ के रूप में जोड़ा जा सकता है। निचे इमेज में देखें।
चरण 3:
अब, अगला प्रमाणीकरण विधि है। आप उस सत्र गुण संवाद में प्रमाणीकरण देख सकते हैं। यहां हम फॉर्म-आधारित प्रामाणिक पद्धति का उपयोग कर रहे हैं।
यह रूप में होना चाहिए जैसे किMethodParams ' लॉगिन यूआरएल = https: //tmf-uat.iptquote.com/login.php&loginRequestData=username=superadmin&password=primo868&proceed=login '
हमारे उदाहरण में, हमें प्रमाणीकरण पद्धति को फ़ॉर्म-आधारित के रूप में सेट करने की आवश्यकता है। इसके लिए, लक्ष्य URL का चयन करें, लॉगिन अनुरोध पोस्ट डेटा फ़ील्ड पहले से भरा हुआ है, उसके बाद, उपयोगकर्ता नाम और पासवर्ड के रूप में पैरामीटर बदलें -> ठीक क्लिक करें ।
चरण 4:
अब, संकेतक निर्धारित करें जो प्रमाणीकरण होने पर ZAP को बताएगा।
लॉग इन किया और लॉग आउट संकेतक:
- केवल एक आवश्यक है
- हम प्रतिक्रिया संदेश में मिलान किए गए रेगेक्स पैटर्न सेट कर सकते हैं, या तो लॉग इन करने या संकेतक को लॉग आउट करने की आवश्यकता है।
- पहचानें कि कोई प्रतिक्रिया प्रमाणित है या कब नहीं।
- लॉग इन इंडिकेटर के लिए उदाहरण: Qhttp: // उदाहरण / logout E या उपयोगकर्ता का स्वागत करते हैं। *
- लॉग आउट संकेतक का उदाहरण: login.jsp या ऐसा कुछ।
यहां, हमारे डेमो एप्लिकेशन में, मैंने एक प्रॉक्सी ब्राउज़र में URL एक्सेस किया है। एक मान्य क्रेडेंशियल का उपयोग करके एप्लिकेशन में लॉग इन करें, उपयोगकर्ता नाम सुपरडोमिन और पासवर्ड के रूप में primo868। आंतरिक पृष्ठों के माध्यम से नेविगेट करें और लॉगआउट पर क्लिक करें
आप चरण 3 स्क्रीनशॉट में देख सकते हैं, जैम लॉगिन अनुरोध डेटा लेता है जैसा कि टीएमएफ एप्लिकेशन लॉगिन (डेमो एप्लिकेशन लॉगिन) के लिए उपयोग किया जाता है।
ZAP के रिस्पॉन्स से रेगेक्स पैटर्न में फ्लैग लॉग इन रिस्पॉन्स -> लॉग आउट प्रतिक्रिया -> इसे संकेतक में लॉग के रूप में फ्लैग करें। को देखें नीचे स्क्रीनशॉट
चरण 5:
हम संकेतक को सहेज सकते हैं और सत्यापित कर सकते हैं कि सत्र गुण संवाद लॉग-इन संकेतक के साथ जोड़ा जाता है या नहीं। नीचे स्क्रीनशॉट को देखें:
चरण 6:
हमें उपयोगकर्ता, वैध और अमान्य उपयोगकर्ता जोड़ने होंगे। दोनों पर मकड़ी के हमलों को लागू करें और परिणामों का विश्लेषण करें।
मान्य उपयोगकर्ता:
अमान्य उपयोगकर्ता:
चरण 7:
डिफ़ॉल्ट रूप से सत्र प्रबंधन को कुकी-आधारित विधि के रूप में सेट करें।
चरण 8:
स्पाइडर URL हमला अमान्य और वैध उपयोगकर्ताओं पर लागू होता है और परिणामों की समीक्षा / रिपोर्ट करता है।
अमान्य उपयोगकर्ता स्पाइडर अटैक दृश्य 1:
यहां, अमान्य उपयोगकर्ता पर एक स्पाइडर URL हमला किया जाता है। ZAP इंटरफ़ेस में, हम Get: login.php (त्रुटि _message) देख सकते हैं, जिसका अर्थ है कि प्रमाणीकरण विफल हो गया है। इसके अलावा, यह आंतरिक TMF पृष्ठों के माध्यम से URLs पास नहीं करता है।
चरण 9:
सॉफ्टवेयर विकास में परीक्षण का प्रकार
मान्य उपयोगकर्ता के लिए स्पाइडर URL हमले को लागू करने के लिए, साइटों की सूची पर जाएँ -> हमला -> स्पाइडर URL -> मौजूदा वैध उपयोगकर्ता -> यहाँ यह डिफ़ॉल्ट रूप से सक्षम है -> स्कैन प्रारंभ करें।
परिणामों का विश्लेषण करें: जैसा कि यह एक वैध प्रमाणित उपयोगकर्ता है, यह सभी आंतरिक पृष्ठों के माध्यम से नेविगेट करेगा और प्रमाणीकरण स्थिति को सफल के रूप में प्रदर्शित करेगा। स्क्रीनशॉट के नीचे देखें।
वैध-उपयोगकर्ता
ZAP Html रिपोर्ट नमूना
एक सक्रिय स्कैन पूरा हो जाने के बाद, हम उसी के लिए एक HTML रिपोर्ट तैयार कर सकते हैं। इसके लिए रिपोर्ट -> एचटीएमएल रिपोर्ट जनरेट करें चुनें। मैंने HTML रिपोर्ट की एक नमूना सामग्री संलग्न की है। यहां उच्च, मध्यम और निम्न अलर्ट रिपोर्ट जनरेट की जाएंगी।
अलर्ट
निष्कर्ष
इस ट्यूटोरियल में, हमने देखा है कि ZAP क्या है, ZAP कैसे काम करता है, स्थापना और ZAP प्रॉक्सी सेटअप। सक्रिय स्कैन प्रक्रियाओं के विभिन्न प्रकार, ZAP प्रमाणीकरण, सत्र और उपयोगकर्ता प्रबंधन, और बुनियादी शब्दावली का एक डेमो। अपने अगले ट्यूटोरियल में, मैं अजाक्स मकड़ी के हमले, फ़ज़र्स के उपयोग, फोर्स्ड ब्राउज्ड साइट्स के बारे में बताऊंगा।
और अगर आपने ज़ेड अटैक प्रॉक्सी का इस्तेमाल किया है और शेयर करने के लिए कुछ दिलचस्प टिप्स हैं, तो नीचे दी गई टिप्पणियों में साझा करें।
संदर्भ:
अनुशंसित पाठ
- प्रैक्टिसटेस्ट टेस्ट मैनेजमेंट टूल हैंड्स-ऑन रिव्यू ट्यूटोरियल
- टेस्ट लॉज टेस्ट मैनेजमेंट टूल रिव्यू
- TestComplete Tutorial: शुरुआती लोगों के लिए एक व्यापक जीयूआई परीक्षण उपकरण गाइड
- बैकलॉग बग ट्रैकिंग टूल हैंड्स-ऑन रिव्यू ट्यूटोरियल
- Bugzilla Tutorial: दोष प्रबंधन उपकरण हाथों पर ट्यूटोरियल
- SmartMeter.io टूल का उपयोग करके वेबसाइट के प्रदर्शन का परीक्षण कैसे करें: हैंड्स-ऑन रिव्यू ट्यूटोरियल
- WAVE पहुँच क्षमता परीक्षण उपकरण ट्यूटोरियल
- Qest टेस्ट मैनेजमेंट टूल का हैंड्स-ऑन रिव्यू