
أداة تقييم تلقائي لجدران الحماية (WAF) تكتشف أنواع الجدران النارية، وتختبر 19 فئة هجوم باستخدام حمولات تفادي متقدمة، وتوفر تحليلاً للاختراق مرمّزاً بالألوان عبر CLI أو Cloudflare Worker أو Docker.
يساعدك هذا المشروع في التحقق من مدى فعالية جدار الحماية لتطبيقات الويب (WAF) في حماية منتجك ضد الهجمات الشائعة. يمكن تشغيله كـ Cloudflare Worker (مع واجهة ويب تفاعلية مدمجة) أو كأداة CLI Node.js مستقلة.
SQL Injection, XSS, Path Traversal, Command Injection, SSRF, NoSQL Injection, Local File Inclusion, LDAP Injection, HTTP Request Smuggling, Open Redirect, Sensitive Files, CRLF Injection, UTF8/Unicode Bypass, XXE, SSTI, HTTP Parameter Pollution, Web Cache Poisoning, IP Bypass, User-Agent.
X-HTTP-Method-Override, إلخ).تم تنظيم المشروع كمستودع واحد لمساحات عمل NPM:
packages/core/: مكتبة الاختبار الأساسية للأمان، تعريف الحمولات، تواقيع بصمة WAF، ومشفِّرات الإبهام.packages/worker/: حزمة Cloudflare Worker التي تخدم واجهة الويب HTML/JS الثابتة ونقاط نهاية JSON API.packages/cli/: أداة سطر الأوامر Node.js لتنفيذ عمليات التدقيق مباشرة من الطرفية الخاصة بك.من المجلد الجذر، قم بتثبيت التبعيات وبناء جميع مساحات العمل:
npm install
npm run build
لتشغيل خادم Worker للتطوير محلياً (يتطلب Wrangler):
npm run dev:worker
ستكون واجهة الويب متاحة على http://localhost:8787 (أو منفذ آخر إذا كان 8787 مشغولاً).
لنشر Worker على Cloudflare:
npx wrangler deploy --workspace=packages/worker
لتشغيل عمليات تدقيق اختبار الأمان مباشرة من سطر الأوامر:
# طباعة تعليمات CLI العامة والاستخدام
node packages/cli/dist/index.js --help
# طباعة تعليمات أمر الفحص (يسرد جميع الطرق والفئات وبائعي WAF)
node packages/cli/dist/index.js check --help
اكتشف بائع WAF خلف عنوان URL مستهدف:
node packages/cli/dist/index.js detect <url>
تشغيل تدقيق ضد عنوان URL مستهدف:
# الفحص الافتراضي (طريقة GET، جميع فئات الحمولات)
node packages/cli/dist/index.js check https://example.com
# فحص مخصص مع طرق وفئات محددة، مع تمكين مراوغة WAF
node packages/cli/dist/index.js check https://example.com -m GET,POST -c "SQL Injection,XSS" --auto-detect-waf --encoding-variations
تشغيل تدقيق دفعي لقائمة عناوين URL محددة في ملف:
node packages/cli/dist/index.js batch targets.txt --concurrency 3
يمكنك تشغيل CLI باستخدام Docker، إما بسحب الصورة المبنية مسبقاً من GitHub Container Registry أو ببنائها محلياً.
الصورة المبنية مسبقاً متاحة على GitHub Container Registry على ghcr.io/sech0us3/waf-checker-cli.
docker pull ghcr.io/sech0us3/waf-checker-cli:latest
docker run --rm ghcr.io/sech0us3/waf-checker-cli:latest --help
docker run --rm -it ghcr.io/sech0us3/waf-checker-cli:latest check https://example.com
docker run --rm -it -v "$(pwd):/data" ghcr.io/sech0us3/waf-checker-cli:latest batch /data/targets.txt --concurrency 3
docker build -t waf-checker-cli .
docker run --rm waf-checker-cli --help
docker run --rm -it waf-checker-cli check https://example.com
docker run --rm -it -v "$(pwd):/data" waf-checker-cli batch /data/targets.txt --concurrency 3
لتشغيل مجموعة الاختبارات على مستوى مساحة العمل (باستخدام Vitest):
npm test
اقرأ مدونتي على yoursec.substack.com