
evilwaf is a penetration testing tool designed to detect and bypass common Web Application Firewalls (WAFs).
EvilWAF هو بروكسي متطور لاختراق جدران الحماية (WAF) يعمل بشفافية عبر MITM، بالإضافة إلى ماسح عميق لثغرات جدران الحماية، مصمم لاختبارات الأمان المصرح بها. يعمل في طبقة النقل — فهو لا يلمس الحمولات (payloads) أو الكوكيز أو الترويسات الصادرة من أدواتك. يعمل مع أي أداة مثل(ffuz, sqlmap, nuclei وغيرها) تدعم --proxy.
--proxy. دون أي إعدادات إضافية على جانب الأداة.CF-Connecting-IP, CF-Ray, True-Client-IP) بقيم مصاغة لاختبار ثقة WAF في الترويسات ومحاولة تجاوز قوائم السماح المعتمدة على IP.Layer 1 Network — تجاوز المضيف الافتراضي، استكشاف المسارات الحساسة، التلاعب بترويسة HostLayer 2 RuleEngine — كشف الفجوات في قواعد الحمولات: SQLi, XSS, RCE, LFILayer 3 RateLimit — اختبار فرض حدود المعدل للانفجارات والاستمرارLayer 4 Evasion — تجاوز الترميز والتطبيع مع 10 متغيرات ترميز لكل حمولةLayer 5 Behavioural — تحليل التوقيت: tarpit، تأخير تحديات JavaScript، كشف التراجعLayer 6 Header — حقن ترويسات HTTP وتجاوز انتحال IPLayer 7 TLS — اختبار إصدارات TLS، تجاوز SNI، بصمة الشهاداتLayer 8 MethodVerb — تجاوز طرق HTTP بما في ذلك طرق WebDAVLayer 9 Session — التلاعب بالكوكيز، تجاوز المصادقة، فحوصات تثبيت الجلسةLayer 10 Misconfig — كشف سوء تكوين WAF وتسريبات المعلومات--no-tui للبرمجة النصية وخطوط CI/CD.--scan-only لتشغيل ماسح ثغرات WAF بشكل مستقل دون تشغيل البروكسي.تُعتبر Cloudflare على نطاق واسع أكثر جدران حماية تطبيقات الويب تطورًا في العالم اليوم. إنها ليست مجرد مجموعة قواعد — بل نظام دفاع متعدد الطبقات يجمع عدة تقنيات تعمل في وقت واحد لحماية تطبيقات الويب.
على مستوى الشبكة، تعمل Cloudflare عبر مئات مراكز البيانات عالميًا، مما يعني أن كل طلب يمر عبر بنية تحتية لديها رؤية لحركة المرور من ملايين المواقع في وقت واحد. هذه الرؤية العالمية هي واحدة من أقوى ميزاتها — فهي تستطيع اكتشاف أنماط الهجمات الناشئة في أي مكان في العالم ونشر الإجراءات الوقائية عبر جميع الخصائص المحمية خلال ثوانٍ.
على مستوى الفحص، تحلل Cloudflare الطلبات عبر أبعاد متعددة في وقت واحد: بصمة TCP/IP، بصمة TLS، بنية إطارات HTTP/2، ترتيب الترويسات، توقيت الطلب، الأنماط السلوكية عبر الجلسات، ومحتوى الحمولة. أي إشارة واحدة من هذه الإشارات وحدها لا تكفي لحظر طلب، لكن Cloudflare تربطها جميعًا معًا لبناء درجة مخاطرة لكل طلب.
مكوّن التعلم الآلي هو ما يجعل Cloudflare مختلفًا جوهريًا عن جدران الحماية التقليدية. بينما تبحث جدران الحماية القائمة على القواعد عن أنماط ضارة معروفة، فإن نماذج التعلم الآلي في Cloudflare تُدرَّب على بيتابايت من حركة الهجمات الحقيقية. تتعلم كيف يبدو حركة المتصفحات الشرعية في طبقة النقل — التسلسل الدقيق لخيارات TCP، البنية الدقيقة لـ TLS ClientHello، ترتيب إطارات HTTP/2 SETTINGS — وتشير إلى أي شيء ينحرف عن هذا الخط الأساسي، حتى لو بدت الحمولة نفسها نظيفة. لهذا السبب، مجرد ترميز حمولة أو تدوير ترويسات ليس كافيًا ضد Cloudflare. يجب أن يحدث الاختراق في طبقة النقل، وليس في طبقة التطبيق.
معظم تقنيات اختراق WAF تستهدف محرك القواعد — إخفاء الحمولات، استخدام متغيرات الترميز، تقسيم سلاسل الهجوم عبر الوسائط. هذه التقنيات تعمل ضد جدران الحماية المعتمدة على التوقيعات لأن تلك الجدران تنظر فقط إلى محتوى الحمولة.
دفاع Cloudflare يعمل قبل فحص الحمولة نفسها. طلب قادم من مكتبة HTTP بلغة Python، حتى لو كان يرسل حمولة غير ضارة تمامًا، يمكن أن يتم تحديه أو حظره لأن بصمة TLS لا تطابق أي متصفح معروف. هذا يعني أن الأداة التي ترسل الطلب يتم تحديدها قبل تحليل المحتوى. تسمي Cloudflare هذا البصمة السلوكية، وهو السبب الرئيسي لفشل أدوات اختبار الاختراق القياسية ضدها حتى عندما تكون الحمولات الأساسية صحيحة.
تحديد المعدل في Cloudflare ذكي أيضًا — فهو ليس مجرد عدّاد للطلبات لكل IP في الثانية. يتتبع أنماط الطلبات عبر الجلسات، ويربط السلوك عبر عناوين IP التي تشارك نفس ASN، ويطبق تحديات تدريجية بدلاً من الحظر الصارم، مما يجعل من الصعب اكتشاف العتبة من خلال الاختبار الآلي.
مهم: اقرأ هذا قبل استخدام EvilWAF
لا أقدم دعمًا لحالات الاستخدام غير القانوني، لكنني سأساعدك في تحقيق هدفك في الاختبار المصرح به.
EvilWAF من صنع Matrix Leons.
إذا كان EvilWAF مفيدًا لك، ففكر في دعم تطويره. مساهمتك تساعد في الحفاظ على استمرارية هذا المشروع ونموه.
# EvilWAF generates a local CA to intercept HTTPS traffic. Trust it once.
# Run EvilWAF first — CA is auto-generated at startup
# Then find the cert:
ls /tmp/evilwaf_ca_*/evilwaf-ca.pem
# Linux — trust system-wide
sudo cp /tmp/evilwaf_ca_*/evilwaf-ca.pem /usr/local/share/ca-certificates/evilwaf-ca.crt
sudo update-ca-certificates
# macOS
sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain \
/tmp/evilwaf_ca_*/evilwaf-ca.pem
# For tools like sqlmap, pass --ignore-proxy=False or equivalent for your tool.
# 1. Create virtual environment
python3 -m venv myenv
# 2. Activate virtual environment
source myenv/bin/activate
# 3. Clone and install
git clone https://github.com/matrixleons/evilwaf.git
cd evilwaf
pip3 install -r requirements.txt
# 4. Build C extension (optional, improves scanner performance)
python setup_fast_scanner.py build_ext --inplace
python3 evilwaf.py -h
docker build -t evilwaf .
docker run -it evilwaf -t https://example.com
# Basic — Standard Proxy Mode
python3 evilwaf.py -t https://target.com
# Auto-Hunt Origin IP Behind WAF
python3 evilwaf.py -t https://target.com --auto-hunt
# EvilWAF runs 10 scanners in parallel, ranks candidates by confidence, then asks:
# [?] Use 1.2.3.4 as origin IP for bypass? [y/n]:
# If confirmed, all traffic goes directly to the real server, bypassing WAF completely.
# Manual Origin IP (if already known)
python3 evilwaf.py -t https://target.com --server-ip 1.2.3.4
# With Tor IP Rotation
python3 evilwaf.py -t https://target.com --enable-tor
# Headless Mode (No TUI)
python3 evilwaf.py -t https://target.com --no-tui
# WAF Vulnerability Scanner — alongside proxy
python3 evilwaf.py -t https://target.com --scan-vulns
# WAF Vulnerability Scanner — standalone, no proxy
python3 evilwaf.py -t https://target.com --scan-only
# WAF Vulnerability Scanner — custom rate and output
python3 evilwaf.py -t https://target.com --scan-only --scan-rps 5.0 --scan-output ./results
# Upstream Proxy
python3 evilwaf.py -t https://target.com --upstream-proxy socks5://127.0.0.1:1080
python3 evilwaf.py -t https://target.com --upstream-proxy http://user:[email protected]:8080
python3 evilwaf.py -t https://target.com --proxy-file proxies.txt
# Custom Listen Address and Port
python3 evilwaf.py -t https://target.com --listen-host 0.0.0.0 --listen-port 9090
بمجرد تشغيل EvilWAF، وجّه أي أداة إليه عبر البروكسي:
# sqlmap
sqlmap -u "https://target.com/page?id=1" --proxy=http://127.0.0.1:8080 --ignore-proxy=False
# ffuf
ffuf -u https://target.com/FUZZ -x http://127.0.0.1:8080
# nuclei
nuclei -u https://target.com -proxy http://127.0.0.1:8080
# curl (for testing)
curl -x http://127.0.0.1:8080 https://target.com
export SHODAN_API_KEY="your_key"
export SECURITYTRAILS_API_KEY="your_key"
export VIRUSTOTAL_API_KEY="your_key"
export CENSYS_API_ID="your_id"
export CENSYS_API_SECRET="your_secret"
بدون مفاتيح API، يستمر EvilWAF في العمل باستخدام المصادر المجانية (سجل DNS، شهادات SSL، ترويسات HTTP، بصمة favicon، تعداد النطاقات الفرعية).
المساهمات مرحب بها. EvilWAF في نمو مستمر وهناك العديد من المجالات للتحسين.
# Fork and clone
git clone https://github.com/matrixleons/evilwaf/fork
git checkout -b my-new-feature
git commit -am 'Add some feature'
git push origin my-new-feature
# Submit a pull request
مرخص بموجب رخصة Apache License، الإصدار 2.0.
_fast_scanner.c) — إضافة C عالية الأداء للتصنيف وتحليل الإنتروبيا وكشف شذوذ التوقيت والمسارات الحرجة للإحصاءات.يقترب مطور EvilWAF من Cloudflare ليس كهدف للهجوم بل كموضوع للدراسة. منهجية البحث منهجية: مراقبة كيفية استجابة Cloudflare لهويات مختلفة في طبقة النقل، وقياس الإشارات التي تؤدي إلى تحديات مقابل حظر مقابل مرور صامت، وبناء نماذج إحصائية لسلوكها من البيانات الحية.
هذا يختلف جوهريًا عن قراءة الوثائق أو دراسة CVEs. سلوك Cloudflare لا يمكن فهمه بالكامل من مصادر خارجية لأنه يتغير باستمرار — يتم إعادة تدريب النماذج، وتعديل العتبات، وإضافة إشارات جديدة. الطريقة الوحيدة الموثوقة لفهمه هي من خلال التجارب الحية والموجهة والمصرح بها، والتحليل الدقيق للبيانات المجمعة.
الهدف من هذا البحث هو إنتاج أدوات ومعرفة تساعد مجتمع أبحاث الأمان على فهم الشكل الفعلي لاختراق WAF على المستوى التقني في 2026 — ليس لإحداث الضرر، بل لضمان فهم المدافعين للقدرات والقيود الحقيقية للتقنيات التي يعتمدون عليها. الباحث الأمني الذي يفهم كيف تكتشف Cloudflare الطلبات وتحظرها يكون أكثر قدرة على اختبار ما إذا كانت التطبيقات خلفها محمية حقًا.
بنية ماسح EvilWAF — الجلسات المستمرة، الثقة الإحصائية، التحليل متعدد الطبقات، كشف شذوذ التوقيت — موجودة لأن هذا النوع من البحث يتطلب فترات مراقبة طويلة وجمعًا دقيقًا للبيانات، وليس فحوصات سريعة. أبحاث WAF الحقيقية تأخذ وقتًا، ويجب أن تعكس الأدوات ذلك.