
वेब एप्लिकेशन सुरक्षा स्कैनर lcamtuf द्वारा google के लिए निर्मित - अनाधिकारिक मिरर
skipfish - वेब एप्लिकेशन सुरक्षा स्कैनर
===========================================
http://code.google.com/p/skipfish/
* लिखित और अनुरक्षित:
Michal Zalewski <[email protected]>
Niels Heinen <[email protected]>
Sebastian Roschke <[email protected]>
* कॉपीराइट 2009 - 2012 Google Inc, सर्वाधिकार सुरक्षित।
* Apache License, संस्करण 2.0 की शर्तों और प्रावधानों के अंतर्गत जारी।
--------------------
1. skipfish क्या है?
--------------------
Skipfish एक सक्रिय वेब एप्लिकेशन सुरक्षा टोही (reconnaissance) उपकरण है। यह
लक्षित साइट के लिए एक इंटरैक्टिव साइटमैप तैयार करता है, जो
पुनरावर्ती क्रॉल (recursive crawl) और शब्दकोश-आधारित जाँचों द्वारा किया जाता है। परिणामी मानचित्र को
फिर कई सक्रिय (लेकिन उम्मीद है कि
विघटनकारी नहीं) सुरक्षा जाँचों के आउटपुट के साथ एनोटेट किया जाता है। उपकरण द्वारा उत्पन्न अंतिम रिपोर्ट
पेशेवर वेब एप्लिकेशन सुरक्षा मूल्यांकनों के लिए एक आधार के रूप में काम करने के लिए है।
-------------------------------------------------
2. मुझे इस विशेष उपकरण की चिंता क्यों करनी चाहिए?
-------------------------------------------------
समान कार्यक्षमता वाले कई व्यावसायिक और ओपन सोर्स उपकरण
आसानी से उपलब्ध हैं (जैसे, Nikto, Nessus); उसी पर टिके रहें जो आपको
सबसे उपयुक्त लगे। फिर भी, skipfish वेब सुरक्षा स्कैनर से जुड़ी कुछ सामान्य समस्याओं को
हल करने का प्रयास करता है। विशिष्ट लाभों में शामिल हैं:
* उच्च प्रदर्शन: उत्तरदायी इंटरनेट लक्ष्यों के विरुद्ध 500+ अनुरोध प्रति सेकंड,
LAN / MAN नेटवर्क पर 2000+ अनुरोध प्रति सेकंड, और स्थानीय इंस्टेंस के विरुद्ध 7000+ अनुरोध
देखे गए हैं, बहुत ही मामूली CPU, नेटवर्क, और मेमोरी फुटप्रिंट के साथ। यह निम्न के लिए जिम्मेदार ठहराया जा सकता है:
* मल्टीप्लेक्सिंग सिंगल-थ्रेड, पूरी तरह से एसिंक्रोनस नेटवर्क I/O और डेटा
प्रोसेसिंग मॉडल जो कुछ मल्टी-थ्रेडेड क्लाइंट्स में मौजूद मेमोरी प्रबंधन, शेड्यूलिंग, और IPC
अक्षमताओं को समाप्त करता है।
* उन्नत HTTP/1.1 सुविधाएँ जैसे रेंज अनुरोध, सामग्री संपीड़न,
और कीप-अलाइव कनेक्शन, साथ ही नेटवर्क-स्तरीय ओवरहेड को नियंत्रण में रखने के लिए
बाध्य प्रतिक्रिया आकार सीमा।
* अनावश्यक ट्रैफ़िक को कम करने के लिए स्मार्ट प्रतिक्रिया कैशिंग और उन्नत सर्वर व्यवहार
ह्युरिस्टिक्स का उपयोग किया जाता है।
* प्रदर्शन-उन्मुख, शुद्ध C कार्यान्वयन, जिसमें एक कस्टम
HTTP स्टैक शामिल है।
* उपयोग में आसानी: skipfish अत्यधिक अनुकूलनीय और विश्वसनीय है। स्कैनर की विशेषताएँ:
* अस्पष्ट पथ- और क्वेरी-आधारित पैरामीटर हैंडलिंग योजनाओं की ह्युरिस्टिक पहचान।
* मल्टी-फ्रेमवर्क साइटों का सुगम संचालन जहाँ कुछ पथ पूरी तरह से अलग अर्थों का पालन करते हैं,
या विभिन्न फ़िल्टरिंग नियमों के अधीन होते हैं।
* साइट सामग्री विश्लेषण के आधार पर स्वचालित वर्डलिस्ट निर्माण।
* मनमाने ढंग से जटिल साइटों के आवधिक, समय-बद्ध मूल्यांकन की अनुमति देने के लिए
संभाव्य स्कैनिंग सुविधाएँ।
* अच्छी तरह से डिज़ाइन किए गए सुरक्षा जाँच: उपकरण सटीक और सार्थक परिणाम देने के लिए है:
* हस्तनिर्मित शब्दकोश उत्कृष्ट कवरेज प्रदान करते हैं और उचित समय सीमा में
गहन $keyword.$extension परीक्षण की अनुमति देते हैं।
* भेद्यता का पता लगाने के लिए सिग्नेचर जाँचों के बजाय तीन-चरणीय डिफरेंशियल प्रोब
को प्राथमिकता दी जाती है।
* सूक्ष्म सुरक्षा समस्याओं का पता लगाने के लिए ratproxy-शैली तर्क का उपयोग किया जाता है:
क्रॉस-साइट रिक्वेस्ट फोर्जरी, क्रॉस-साइट स्क्रिप्ट इंक्लूजन, मिक्स्ड कंटेंट,
MIME- और चार्सेट बेमेल, गलत कैशिंग निर्देश, आदि।
* बंडल की गई सुरक्षा जाँचें कठिन परिदृश्यों को संभालने के लिए डिज़ाइन की गई हैं:
संग्रहीत XSS (पथ, पैरामीटर, हेडर), ब्लाइंड SQL या XML इंजेक्शन,
या ब्लाइंड शेल इंजेक्शन।
* Snort-शैली सामग्री सिग्नेचर जो सर्वर त्रुटियों,
सूचना लीक या संभावित रूप से खतरनाक वेब एप्लिकेशनों को उजागर करेंगे।
* रिपोर्ट पोस्ट-प्रोसेसिंग दोहराव वाले पैटर्न की पहचान करके किसी भी
शेष झूठी सकारात्मकता या सर्वर गिमिक्स के कारण होने वाले शोर को काफी कम कर देती है।
फिर भी, skipfish कोई चाँदी की गोली नहीं है, और कुछ उद्देश्यों के लिए अनुपयुक्त हो सकता है।
उदाहरण के लिए, यह WASC वेब एप्लिकेशन सुरक्षा स्कैनर मूल्यांकन मानदंडों में उल्लिखित अधिकांश आवश्यकताओं को पूरा नहीं करता है (उनमें से कुछ
जानबूझकर, कुछ आवश्यकता से); और इस प्रकार की अधिकांश अन्य परियोजनाओं के विपरीत,
यह बैनर-प्रकार की जाँचों के लिए ज्ञात भेद्यताओं का एक व्यापक डेटाबेस के साथ नहीं आता है।
-----------------------------------------------------
3. सबसे उत्सुक! कौन से विशिष्ट परीक्षण लागू किए गए हैं?
-----------------------------------------------------
उपकरण द्वारा प्रस्तुत सुरक्षा जाँचों की एक मोटी सूची नीचे दी गई है।
* उच्च जोखिम वाले दोष (संभावित रूप से सिस्टम समझौते की ओर ले जाने वाले):
* सर्वर-साइड क्वेरी इंजेक्शन (ब्लाइंड वेक्टर, संख्यात्मक पैरामीटर सहित)।
* GET या POST पैरामीटर में स्पष्ट SQL-जैसा सिंटैक्स।
* सर्वर-साइड शेल कमांड इंजेक्शन (ब्लाइंड वेक्टर सहित)।
* सर्वर-साइड XML / XPath इंजेक्शन (ब्लाइंड वेक्टर सहित)।
* फॉर्मेट स्ट्रिंग भेद्यताएँ।
* पूर्णांक अतिप्रवाह भेद्यताएँ।
* HTTP PUT स्वीकार करने वाले स्थान।
* मध्यम जोखिम वाले दोष (संभावित रूप से डेटा समझौते की ओर ले जाने वाले):
* दस्तावेज़ बॉडी में संग्रहीत और परावर्तित XSS वेक्टर (न्यूनतम JS XSS समर्थन)।
* HTTP रीडायरेक्ट के माध्यम से संग्रहीत और परावर्तित XSS वेक्टर।
* HTTP हेडर स्प्लिटिंग के माध्यम से संग्रहीत और परावर्तित XSS वेक्टर।
* डायरेक्ट्री ट्रैवर्सल / LFI / RFI (प्रतिबंधित वेक्टर सहित)।
* विभिन्न फ़ाइल POI (सर्वर-साइड स्रोत, कॉन्फ़िगरेशन, आदि)।
* हमलावर-आपूर्ति स्क्रिप्ट और CSS इंक्लूजन वेक्टर (संग्रहीत और परावर्तित)।
* बाहरी अविश्वसनीय स्क्रिप्ट और CSS इंक्लूजन वेक्टर।
* स्क्रिप्ट और CSS संसाधनों पर मिक्स्ड कंटेंट समस्याएँ (वैकल्पिक)।
* गैर-SSL पृष्ठों से या उन पर सबमिट होने वाले पासवर्ड फ़ॉर्म (वैकल्पिक)।
* रेंडरेबल्स पर गलत या अनुपलब्ध MIME प्रकार।
* रेंडरेबल्स पर सामान्य MIME प्रकार।
* रेंडरेबल्स पर गलत या अनुपलब्ध चार्सेट।
* रेंडरेबल्स पर परस्पर विरोधी MIME / चार्सेट जानकारी।
* कुकी सेट करने वाली प्रतिक्रियाओं पर खराब कैशिंग निर्देश।
* कम जोखिम वाले मुद्दे (सीमित प्रभाव या कम विशिष्टता):
* डायरेक्ट्री लिस्टिंग बायपास वेक्टर।
* हमलावर-आपूर्ति URL पर रीडायरेक्शन (संग्रहीत और परावर्तित)।
* हमलावर-आपूर्ति एम्बेडेड सामग्री (संग्रहीत और परावर्तित)।
* बाहरी अविश्वसनीय एम्बेडेड सामग्री।
* गैर-स्क्रिप्टेबल सबरिसोर्सेस पर मिक्स्ड कंटेंट (वैकल्पिक)।
* HTML फ़ॉर्म का HTTPS -> HTTP सबमिशन (वैकल्पिक)।
* URL में HTTP क्रेडेंशियल।
* समाप्त या अभी-अभी-मान्य SSL प्रमाणपत्र।
* बिना XSRF सुरक्षा वाले HTML फ़ॉर्म।
* स्व-हस्ताक्षरित SSL प्रमाणपत्र।
* SSL प्रमाणपत्र होस्ट नाम बेमेल।
* कम संवेदनशील सामग्री पर खराब कैशिंग निर्देश।
* आंतरिक चेतावनियाँ:
* विफल संसाधन लाने के प्रयास।
* क्रॉल सीमा पार हो गई।
* विफल 404 व्यवहार जाँचें।
* IPS फ़िल्टरिंग का पता चला।
* अप्रत्याशित प्रतिक्रिया विविधताएँ।
* प्रतीत होता है गलत वर्गीकृत क्रॉल नोड।
* गैर-विशिष्ट सूचनात्मक प्रविष्टियाँ:
* सामान्य SSL प्रमाणपत्र जानकारी।
* महत्वपूर्ण रूप से बदलते HTTP कुकीज़।
* बदलते Server, Via, या X-... हेडर।
* नए 404 सिग्नेचर।
* ऐसे संसाधन जिन्हें एक्सेस नहीं किया जा सकता।
* HTTP प्रमाणीकरण की आवश्यकता वाले संसाधन।
* टूटे हुए लिंक।
* सर्वर त्रुटियाँ।
* सभी बाहरी लिंक अन्यथा वर्गीकृत नहीं (वैकल्पिक)।
* सभी बाहरी ई-मेल (वैकल्पिक)।
* सभी बाहरी URL रीडायरेक्टर (वैकल्पिक)।
* अज्ञात प्रोटोकॉल के लिंक।
* फ़ॉर्म फ़ील्ड जिन्हें ऑटोकम्प्लीट नहीं किया जा सका।
* पासवर्ड प्रविष्टि फ़ॉर्म (बाहरी ब्रूट-फोर्स के लिए)।
* फ़ाइल अपलोड फ़ॉर्म।
* अन्य HTML फ़ॉर्म (अन्यथा वर्गीकृत नहीं)।
* संख्यात्मक फ़ाइल नाम (बाहरी ब्रूट-फोर्स के लिए)।
* उपयोगकर्ता-आपूर्ति लिंक अन्यथा किसी पृष्ठ पर प्रस्तुत किए जाते हैं।
* कम महत्वपूर्ण सामग्री पर गलत या अनुपलब्ध MIME प्रकार।
* कम महत्वपूर्ण सामग्री पर सामान्य MIME प्रकार।
* कम महत्वपूर्ण सामग्री पर गलत या अनुपलब्ध चार्सेट।
* कम महत्वपूर्ण सामग्री पर परस्पर विरोधी MIME / चार्सेट जानकारी।
* OGNL-जैसी पैरामीटर पासिंग परंपराएँ।