
wig एक वेब एप्लीकेशन सूचना संग्रह उपकरण है, जो अनेक सामग्री प्रबंधन प्रणालियों (सीएमएस) और अन्य प्रशासनिक अनुप्रयोगों की पहचान कर सकता है।
एप्लीकेशन फिंगरप्रिंटिंग सीएमएस के विभिन्न संस्करणों के लिए ज्ञात फ़ाइलों के चेकसम और स्ट्रिंग मिलान पर आधारित है। इसके परिणामस्वरूप प्रत्येक पहचाने गए सीएमएस और उसके संस्करणों के लिए एक स्कोर की गणना की जाती है। प्रत्येक पहचाना गया सीएमएस उसके सबसे संभावित संस्करण(संस्करणों) के साथ प्रदर्शित होता है। स्कोर गणना भार और किसी दिए गए चेकसम के लिए "हिट" की मात्रा पर आधारित है।
wig सर्वर पर ऑपरेटिंग सिस्टम का अनुमान 'server' और 'x-powered-by' हेडर के आधार पर लगाने का भी प्रयास करता है। wig में विभिन्न ऑपरेटिंग सिस्टमों के लिए ज्ञात हेडर मानों वाला एक डेटाबेस शामिल है, जो wig को माइक्रोसॉफ्ट विंडोज संस्करणों और लिनक्स वितरण एवं संस्करण का अनुमान लगाने की अनुमति देता है।
wig Python 3 के साथ बनाया गया है, और इसलिए Python 2 के साथ संगत नहीं है।
wig को कमांड लाइन से चलाया जा सकता है या distutils के साथ स्थापित किया जा सकता है।
$ python3 wig.py example.com
इसके साथ स्थापित करें:
$ python3 setup.py install
और फिर wig को किसी भी स्थान से इस प्रकार आयात किया जा सकता है:
>>>> from wig.wig import wig
>>>> w = wig(url='example.com')
>>>> w.run()
>>>> results = w.get_results()
wig का डिफ़ॉल्ट व्यवहार एक सीएमएस की पहचान करना और सीएमएस के संस्करण पहचान के बाद बाहर निकलना है। ऐसा लक्ष्य सर्वर पर भेजे जाने वाले ट्रैफ़िक की मात्रा को सीमित करने के लिए किया जाता है। इस व्यवहार को '-a' फ्लैग सेट करके ओवरराइट किया जा सकता है, जिस स्थिति में wig सभी ज्ञात फिंगरप्रिंट का परीक्षण करेगा। चूंकि अनुप्रयोगों के कुछ कॉन्फ़िगरेशन फ़ाइलों और संसाधनों के लिए डिफ़ॉल्ट स्थान का उपयोग नहीं करते हैं, इसलिए wig को अपने स्कैन के दौरान मिलने वाले सभी स्थैतिक संसाधनों को लाने के लिए सेट किया जा सकता है। यह '-c' विकल्प के साथ किया जाता है। '-m' विकल्प सभी प्राप्त यूआरएल के विरुद्ध सभी फिंगरप्रिंट का परीक्षण करता है, जो तब सहायक होता है जब डिफ़ॉल्ट स्थान बदल दिया गया हो।
usage: wig.py [-h] [-l INPUT_FILE] [-q] [-n STOP_AFTER] [-a] [-m] [-u] [-d]
[-t THREADS] [--no_cache_load] [--no_cache_save] [-N]
[--verbosity] [--proxy PROXY] [-w OUTPUT_FILE]
[url]
WebApp Information Gatherer
positional arguments:
url The url to scan e.g. http://example.com
optional arguments:
-h, --help show this help message and exit
-l INPUT_FILE File with urls, one per line.
-q Set wig to not prompt for user input during run
-n STOP_AFTER Stop after this amount of CMSs have been detected. Default:
1
-a Do not stop after the first CMS is detected
-m Try harder to find a match without making more requests
-u User-agent to use in the requests
-d Disable the search for subdomains
-t THREADS Number of threads to use
--no_cache_load Do not load cached responses
--no_cache_save Do not save the cache for later use
-N Shortcut for --no_cache_load and --no_cache_save
--verbosity, -v Increase verbosity. Use multiple times for more info
--proxy PROXY Tunnel through a proxy (format: localhost:8080)
-w OUTPUT_FILE File to dump results into (JSON)
$ python3 wig.py example.com
wig - WebApp Information Gatherer