web application security testing guide
कैसे एक आग की दीवार बनाने के लिए
वेब एप्लिकेशन में संग्रहीत डेटा की भारी मात्रा और वेब पर लेनदेन की संख्या में वृद्धि के कारण, वेब एप्लिकेशन का उचित सुरक्षा परीक्षण दिन-प्रतिदिन बहुत महत्वपूर्ण होता जा रहा है।
इस लेख में, हम वेबसाइट सुरक्षा परीक्षण और इसके परीक्षण दृष्टिकोण में प्रयुक्त प्रमुख शब्दों के बारे में विस्तार से जानेंगे।
आप क्या सीखेंगे:
- सुरक्षा परीक्षण क्या है?
- सुरक्षा परीक्षण में प्रयुक्त कुछ मुख्य शब्द
- अनुशंसित सुरक्षा परीक्षण उपकरण
- सुरक्षा परीक्षण दृष्टिकोण
- वेब सुरक्षा परीक्षण के लिए तरीके
- निष्कर्ष
- अनुशंसित पाठ
सुरक्षा परीक्षण क्या है?
सुरक्षा परीक्षण वह प्रक्रिया है जो जांचती है कि क्या गोपनीय डेटा गोपनीय रहता है या नहीं (यानी यह उन व्यक्तियों / संस्थाओं के लिए नहीं है जिनके लिए इसका कोई मतलब नहीं है) और उपयोगकर्ता केवल उन कार्यों को कर सकते हैं जिन्हें वे करने के लिए अधिकृत हैं
उदाहरण के लिए, एक उपयोगकर्ता को अन्य उपयोगकर्ताओं के लिए वेबसाइट की कार्यक्षमता को नकारने में सक्षम नहीं होना चाहिए या एक उपयोगकर्ता को अनपेक्षित तरीके से वेब एप्लिकेशन की कार्यक्षमता को बदलने में सक्षम नहीं होना चाहिए।
सुरक्षा परीक्षण में प्रयुक्त कुछ मुख्य शब्द
इससे पहले कि हम आगे बढ़ें, अपने आप को कुछ शर्तों के साथ परिचित करना उपयोगी होगा जो अक्सर वेब अनुप्रयोग सुरक्षा परीक्षण में उपयोग किए जाते हैं:
'भेद्यता' क्या है?
यह वेब एप्लिकेशन में कमजोरी है। इस तरह की 'कमजोरी' का कारण आवेदन में कीड़े, एक इंजेक्शन (एसक्यूएल / स्क्रिप्ट कोड) या वायरस की उपस्थिति के कारण हो सकता है।
'URL हेरफेर' क्या है?
कुछ वेब एप्लिकेशन URL में क्लाइंट (ब्राउज़र) और सर्वर के बीच अतिरिक्त जानकारी का संचार करते हैं। URL में कुछ जानकारी बदलने से कभी-कभी सर्वर द्वारा अनजाने व्यवहार हो सकता है और इसे कहा जाता है URL हेरफेर ।
'SQL इंजेक्शन' क्या है?
यह वेब एप्लिकेशन उपयोगकर्ता इंटरफ़ेस के माध्यम से SQL कथनों को कुछ क्वेरी में डालने की प्रक्रिया है जो तब सर्वर द्वारा निष्पादित की जाती है।
'XSS (क्रॉस-साइट स्क्रिप्टिंग)' क्या है?
जब कोई उपयोगकर्ता किसी वेब एप्लिकेशन के उपयोगकर्ता इंटरफ़ेस में HTML / क्लाइंट-साइड स्क्रिप्ट सम्मिलित करता है, तो यह प्रविष्टि अन्य उपयोगकर्ताओं को दिखाई देती है और इसे समाप्त करार दिया जाता है XSS ।
'स्पूफ़िंग' क्या है?
होक्स लुक-अलाइक वेबसाइट या ईमेल के निर्माण को कहा जाता है स्पूफिंग ।
अनुशंसित सुरक्षा परीक्षण उपकरण
(1) एक्यूनेटिक्स
कैसे वाईफ़ाई के लिए सुरक्षा कुंजी खोजने के लिए
एक्यूनेटिक्स एक अंत-से-अंत वेब अनुप्रयोग सुरक्षा स्कैनर है। यह आपके संगठन की सुरक्षा के लिए 360 डिग्री का दृश्य देगा। यह SQL इंजेक्शन, XSS, और कमजोर पासवर्ड, आदि जैसे 6500 प्रकार की कमजोरियों का पता लगाने में सक्षम है। यह जटिल बहु-स्तरीय रूपों को स्कैन करने के लिए उन्नत मैक्रो रिकॉर्डिंग तकनीक का उपयोग करता है।
मंच सहज और प्रयोग करने में आसान है। आप पूर्ण स्कैन के साथ-साथ वृद्धिशील स्कैन को शेड्यूल और प्राथमिकता दे सकते हैं। इसमें अंतर्निहित भेद्यता प्रबंधन कार्यक्षमता है। जेनकिंस जैसे CI टूल्स की मदद से नए बिल्ड को अपने आप स्कैन किया जा सकता है।
=> वेब ऐप सुरक्षा के लिए Acunetix आज़माएं
# 2) किउवन
एसडीएलसी के प्रत्येक चरण में अपने कोड में कमजोरियों को ढूंढें और ठीक करें।
किउवन OWASP, CWE, SANS 25, HIPPA, और अधिक सहित सबसे कड़े सुरक्षा मानकों का अनुपालन करता है।विकास के दौरान त्वरित प्रतिक्रिया के लिए अपनी आईडीई में किउवान को एकीकृत करें। Kiuwan सभी प्रमुख प्रोग्रामिंग भाषाओं का समर्थन करता है और प्रमुख DevOps टूल के साथ एकीकृत करता है।
=> अपने कोड को मुफ्त में स्कैन करें
सुरक्षा परीक्षण दृष्टिकोण
वेब एप्लिकेशन का एक उपयोगी सुरक्षा परीक्षण करने के लिए, सुरक्षा परीक्षक को HTTP प्रोटोकॉल के बारे में अच्छी जानकारी होनी चाहिए।
यह समझना महत्वपूर्ण है कि क्लाइंट (ब्राउज़र) और सर्वर HTTP का उपयोग करके कैसे संवाद करते हैं।
इसके अतिरिक्त, परीक्षक को कम से कम SQL इंजेक्शन और XSS की मूल बातें पता होनी चाहिए।
उम्मीद है, वेब एप्लिकेशन में मौजूद सुरक्षा दोषों की संख्या अधिक नहीं होगी। हालांकि, सभी आवश्यक विवरणों के साथ सभी सुरक्षा दोषों का सटीक वर्णन करने में सक्षम होने से निश्चित रूप से मदद मिलेगी।
वेब सुरक्षा परीक्षण के लिए तरीके
(1) पासवर्ड क्रैकिंग
एक पर सुरक्षा परीक्षण वेब एप्लीकेशन 'पासवर्ड क्रैकिंग' द्वारा बंद किया जा सकता है। आवेदन के निजी क्षेत्रों में प्रवेश करने के लिए, कोई भी उपयोगकर्ता नाम / पासवर्ड का अनुमान लगा सकता है या उसी के लिए कुछ पासवर्ड क्रैकर टूल का उपयोग कर सकता है। आम उपयोगकर्ता नाम और पासवर्ड की एक सूची ओपन सोर्स पासवर्ड क्रैकर्स के साथ उपलब्ध है।
यदि वेब एप्लिकेशन एक जटिल पासवर्ड लागू नहीं करता है ( उदाहरण के लिए, अक्षर, संख्या और विशेष वर्णों के साथ या कम से कम आवश्यक वर्णों के साथ), उपयोगकर्ता नाम और पासवर्ड को क्रैक करने में बहुत लंबा समय नहीं लग सकता है।
यदि उपयोगकर्ता नाम या पासवर्ड को एन्क्रिप्ट किए बिना कुकीज़ में संग्रहीत किया जाता है, तो एक हमलावर कुकीज़ को चोरी करने के लिए विभिन्न तरीकों का उपयोग कर सकता है और कुकीज़ और उपयोगकर्ता की तरह पासवर्ड में संग्रहीत जानकारी।
अधिक जानकारी के लिए 'पर एक लेख देखें वेबसाइट कुकी परीक्षण ”।
# 2) HTTP GET मेथड के माध्यम से URL हेरफेर
एक परीक्षक को यह जांचना चाहिए कि आवेदन क्वेरी स्ट्रिंग में महत्वपूर्ण जानकारी पारित करता है या नहीं। यह तब होता है जब एप्लिकेशन क्लाइंट और सर्वर के बीच जानकारी पारित करने के लिए HTTP जीईटी विधि का उपयोग करता है।
जानकारी क्वेरी स्ट्रिंग में मापदंडों के माध्यम से पारित की जाती है। परीक्षक क्वेरी स्ट्रिंग में एक पैरामीटर मान को संशोधित कर सकता है यह जांचने के लिए कि सर्वर इसे स्वीकार करता है।
एक json फ़ाइल कैसी दिखती है
HTTP HTTP GET अनुरोध उपयोगकर्ता जानकारी को प्रमाणीकरण या डेटा लाने के लिए सर्वर को दिया जाता है। हमलावर आवश्यक जानकारी प्राप्त करने या डेटा को दूषित करने के लिए इस GET अनुरोध से सर्वर में पारित हर इनपुट चर में हेरफेर कर सकता है। ऐसी स्थितियों में, एप्लिकेशन या वेब सर्वर द्वारा कोई भी असामान्य व्यवहार हमलावर के लिए एक आवेदन पत्र प्राप्त करने का द्वार है।
# 3) एसक्यूएल इंजेक्शन
अगला कारक जिसे जाँचना चाहिए वह SQL इंजेक्शन है। किसी भी टेक्स्टबॉक्स में एक ही उद्धरण (‘) दर्ज करने से आवेदन को अस्वीकार कर दिया जाना चाहिए। इसके बजाय, यदि परीक्षक डेटाबेस त्रुटि का सामना करता है, तो इसका मतलब है कि उपयोगकर्ता इनपुट को कुछ क्वेरी में डाला जाता है जिसे तब किसी एप्लिकेशन द्वारा निष्पादित किया जाता है। ऐसे मामले में, एप्लिकेशन SQL इंजेक्शन के लिए असुरक्षित है।
SQL इंजेक्शन के हमले बहुत महत्वपूर्ण होते हैं क्योंकि एक हमलावर सर्वर डेटाबेस से महत्वपूर्ण जानकारी प्राप्त कर सकता है। अपने वेब एप्लिकेशन में एसक्यूएल इंजेक्शन प्रवेश बिंदुओं की जांच करने के लिए, अपने कोडबेस से कोड का पता लगाएं, जहां कुछ उपयोगकर्ता इनपुटों को स्वीकार करके डायरेक्ट MySQL प्रश्नों को डेटाबेस पर निष्पादित किया जाता है।
यदि डेटाबेस को क्वेरी करने के लिए उपयोगकर्ता इनपुट डेटा को SQL क्वेरीज़ में तैयार किया जाता है, तो एक हमलावर डेटाबेस से महत्वपूर्ण जानकारी निकालने के लिए उपयोगकर्ता के इनपुट के रूप में SQL स्टेटमेंट या SQL स्टेटमेंट के कुछ भाग को इंजेक्ट कर सकता है। भले ही कोई हमलावर किसी ब्राउज़र पर दिखाए गए SQL क्वेरी त्रुटि से एप्लिकेशन को क्रैश करने में सफल होता है, हमलावर को वह जानकारी मिल सकती है जिसकी उन्हें तलाश है।
उपयोगकर्ता इनपुट से विशेष वर्णों को ऐसे मामलों में ठीक से नियंत्रित / बच जाना चाहिए।
# 4) क्रॉस-साइट स्क्रिप्टिंग (XSS)
एक परीक्षक को XSS (क्रॉस-साइट स्क्रिप्टिंग) के लिए वेब एप्लिकेशन की अतिरिक्त जांच करनी चाहिए। कोई भी HTML उदाहरण के लिए, या कोई स्क्रिप्ट उदाहरण के लिए, आवेदन द्वारा स्वीकार नहीं किया जाना चाहिए। यदि यह है, तो आवेदन को क्रॉस-साइट स्क्रिप्टिंग द्वारा हमले का खतरा हो सकता है।
हमलावर इस पद्धति का उपयोग पीड़ित के ब्राउज़र पर एक दुर्भावनापूर्ण स्क्रिप्ट या URL को निष्पादित करने के लिए कर सकता है। क्रॉस-साइट स्क्रिप्टिंग का उपयोग करके, एक हमलावर उपयोगकर्ता कुकीज़ और कुकीज़ में संग्रहीत जानकारी को चुराने के लिए जावास्क्रिप्ट जैसी स्क्रिप्ट का उपयोग कर सकता है।
कई वेब एप्लिकेशन कुछ उपयोगी जानकारी प्राप्त करते हैं और विभिन्न पृष्ठों से कुछ चर में इस जानकारी को पास करते हैं।
उदाहरण के लिए, http://www.examplesite.com/index.php?userid=123 & क्वेरी = ज़ीज़
हमलावर आसानी से कुछ दुर्भावनापूर्ण इनपुट या query & क्वेरी ’पैरामीटर के रूप में पारित कर सकता है जो ब्राउज़र पर महत्वपूर्ण उपयोगकर्ता / सर्वर डेटा का पता लगा सकता है।
महत्वपूर्ण: सुरक्षा परीक्षण के दौरान, परीक्षक को बहुत सावधान रहना चाहिए क्योंकि निम्नलिखित में से किसी को भी संशोधित नहीं करना चाहिए:
- एप्लिकेशन या सर्वर का कॉन्फ़िगरेशन
- सर्वर पर चलने वाली सेवाएं
- मौजूदा उपयोगकर्ता या ग्राहक डेटा अनुप्रयोग द्वारा होस्ट किया गया
इसके अतिरिक्त, उत्पादन प्रणाली में सुरक्षा परीक्षण से बचना चाहिए।
निष्कर्ष
एक सुरक्षा परीक्षण का उद्देश्य वेब एप्लिकेशन की कमजोरियों की खोज करना है ताकि डेवलपर्स इन कमजोरियों को एप्लिकेशन से हटा सकें और वेब एप्लिकेशन और डेटा को किसी भी अनधिकृत कार्रवाई से सुरक्षित बना सकें।
अनुशंसित पढ़ना => SAST / DAST / IAST / RASP के बीच अंतर
इस लेख के बारे में अपनी टिप्पणी / सुझाव साझा करने के लिए स्वतंत्र महसूस करें।
अनुशंसित पाठ
- वेब एप्लीकेशन पेनेट्रेशन टेस्टिंग के लिए शुरुआती गाइड
- सुरक्षा परीक्षण (एक पूर्ण गाइड)
- अल्फा परीक्षण और बीटा परीक्षण (एक पूर्ण गाइड)
- नेटवर्क सुरक्षा परीक्षण और सर्वश्रेष्ठ नेटवर्क सुरक्षा उपकरण
- सर्वश्रेष्ठ सॉफ्टवेयर परीक्षण उपकरण 2021 [क्यूए टेस्ट स्वचालन उपकरण]
- वेरिफिकेशन टेस्टिंग (बीवीटी टेस्टिंग) कम्प्लीट गाइड बनाएं
- टॉप 4 ओपन सोर्स सिक्योरिटी टेस्टिंग टूल्स टू टेस्ट वेब एप्लीकेशन
- कार्यात्मक परीक्षण बनाम गैर-कार्यात्मक परीक्षण