
أداة تعريف WAF الأعمى

identYwaf هي أداة تعريف يمكنها التعرف على نوع حماية الويب (أي WAF) بناءً على الاستدلال الأعمى. يتم الاستدلال الأعمى عن طريق فحص الاستجابات المستثارة بواسطة مجموعة من الحمولات الهجومية المحددة مسبقًا (غير المدمرة)، حيث تُستخدم فقط لتفعيل نظام حماية الويب الوسيط (مثل http://<host>?aeD0oowi=1 AND 2>1). حاليًا، تدعم أكثر من 80 منتجًا مختلفًا للحماية (مثل aeSecure, Airlock, CleanTalk, CrawlProtect, Imunify360, MalCare, ModSecurity, Palo Alto, SiteGuard, UrlScan, Wallarm, WatchGuard, Wordfence, إلخ)، بينما قاعدة المعرفة في تزايد مستمر.
لمزيد من المعلومات، يمكنك الاطلاع على الشرائح الخاصة بمحاضرة "Blind WAF identification" التي عُقدت في Sh3llCON 2019 (سانتاندير / إسبانيا).
ملاحظة: كجزء من هذا المشروع، يتم جمع لقطات شاشة للاستجابات المميزة لأنظمة حماية الويب المختلفة (يدويًا) للرجوع إليها في المستقبل.







يمكنك تنزيل أحدث ملف مضغوط بالضغط هنا.
يفضل، يمكنك تنزيل identYwaf عن طريق استنساخ مستودع Git:
git clone --depth 1 https://github.com/stamparm/identYwaf.git
identYwaf يعمل فورًا مع أي إصدار بايثون من 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