
अंध WAF पहचान उपकरण

identYwaf एक पहचान उपकरण है जो ब्लाइंड अनुमान (blind inference) के आधार पर वेब सुरक्षा प्रकार (अर्थात WAF) को पहचान सकता है। ब्लाइंड अनुमान पूर्वनिर्धारित आक्रामक (गैर-विनाशकारी) पेलोड के सेट द्वारा उत्पन्न प्रतिक्रियाओं का निरीक्षण करके किया जाता है, जिनका उपयोग केवल बीच में वेब सुरक्षा प्रणाली को ट्रिगर करने के लिए किया जाता है (जैसे http://<host>?aeD0oowi=1 AND 2>1)। वर्तमान में यह 80 से अधिक विभिन्न सुरक्षा उत्पादों (जैसे aeSecure, Airlock, CleanTalk, CrawlProtect, Imunify360, MalCare, ModSecurity, Palo Alto, SiteGuard, UrlScan, Wallarm, WatchGuard, Wordfence, आदि) का समर्थन करता है, जबकि ज्ञान-आधार लगातार बढ़ रहा है।
अधिक जानकारी के लिए आप Sh3llCON 2019 (सेंटेंडर / स्पेन) में आयोजित वार्ता "ब्लाइंड WAF पहचान" के स्लाइड्स देख सकते हैं।
नोट: इस परियोजना के भाग के रूप में, भविष्य के संदर्भ के लिए विभिन्न वेब सुरक्षा प्रणालियों की विशिष्ट प्रतिक्रियाओं के स्क्रीनशॉट एकत्र किए जा रहे हैं (मैन्युअल रूप से)।







आप यहाँ क्लिक करके नवीनतम zipball डाउनलोड कर सकते हैं।
अधिमानतः, आप Git रिपॉजिटरी को क्लोन करके identYwaf डाउनलोड कर सकते हैं:
git clone --depth 1 https://github.com/stamparm/identYwaf.git
identYwaf किसी भी प्लेटफॉर्म पर Python संस्करण 2.6.x से 3.x तक के साथ तुरंत काम करता है।
$ python identYwaf.py
__ __
____ ___ ___ ____ ______ | T T __ __ ____ _____
l j| \ / _]| \ | T| | || T__T T / T| __|
| T | \ / [_ | _ Yl_j l_j| ~ || | | |Y o || l_
| | | D YY _]| | | | | |___ || | | || || _|
j l | || [_ | | | | | | ! \ / | | || ]
|____jl_____jl_____jl__j__j l__j l____/ \_/\_/ l__j__jl__j (1.0.XX)
Usage: python identYwaf.py [options] <host|url>
Options:
--version Show program's version number and exit
-h, --help Show this help message and exit
--delay=DELAY Delay (sec) between tests (default: 0)
--timeout=TIMEOUT Response timeout (sec) (default: 10)
--proxy=PROXY HTTP proxy address (e.g. "http://127.0.0.1:8080")
--proxy-file=PRO.. Load (rotating) HTTP(s) proxy list from a file
--random-agent Use random HTTP User-Agent header value
--code=CODE Expected HTTP code in rejected responses
--string=STRING Expected string in rejected responses
--post Use POST body for sending payloads