
بصمات wafw00f. سرعة Go. أصلي في خطوط الأنابيب. كشف جدار الحماية WAF من حركة HTTP الحية والالتقاطات دون اتصال.
بصمات wafw00f. بسرعة Go. أصلية للخطوط الأنبوبية.
172 هوية منتج WAF، مبنية على بصمات wafw00f.
أداة سطر أوامر ومكتبة بلغة Go لتحليل HTTP المباشر والاستجابات المحفوظة دون اتصال.
بدء سريع · الانتقال من wafw00f · المقاييس المرجعية · التوثيق
فتح العرض المنقسم بالحجم الكامل
wafmeow هو بديل لـ wafw00f لكشف WAF بلغة Go، مبني على عمل البصمات في المشروع الأصلي. وهو يجلب بصمة WAF السريعة إلى خطوط أنابيب متزامنة ومنظمة للفرق التي تحتاج إلى كشف WAF على نطاق واسع.
jq أو أدوات الإشعارات أو قاعدة بيانات،
مع إبقاء التشخيصات البشرية على stderr.# Set AUTHORIZED_DOMAIN to a domain you own or are authorized to test.
set -o pipefail
subfinder -d "${AUTHORIZED_DOMAIN:?set an authorized domain}" -silent |
httpx -silent |
wafmeow --target-file - --fast --jsonl --silent
يستخدم هذا المسار --fast لإجراء فحص نشط سريع لكل عنوان URL مكتشف.
بالنسبة لملفات تصدير استجابات httpx الموجودة، استخدم
مسار الاستيراد دون اتصال.
قم بالبناء باستخدام Go 1.26 أو أحدث، مع استخدام سلسلة أدوات مزوّدة بتصحيحات أمنية. تستخدم إصدارات الإصدار Go 1.27.3.
git clone https://github.com/Lu1sDV/wafmeow.git
cd wafmeow
go build -o wafmeow ./cmd/wafmeow
./wafmeow --help
للإنتاج، استخدم إصدارًا يجتاز بوابات التحقق من الإصدار. تنزيلات v1.0.0 تسبق التحصين الأمني في شجرة المصدر هذه.
الملفات الثنائية المُجمّعة مسبقًا، ووحدة Go، وتثبيت Homebrew موجودة في الإصدارات والتثبيت:
go install github.com/Lu1sDV/wafmeow/v3/cmd/wafmeow@latest
brew install Lu1sDV/tap/wafmeow
يتطلب أمر التثبيت /v3 الخاص بـ Go إصدارًا منشورًا v3. قبل ذلك الإصدار، قم بالبناء من نسخة المصدر أعلاه؛ يواصل Homebrew تثبيت أحدث إصدار مستقر منشور.
# Use your own local HTTP server on port 8080.
./wafmeow --target http://127.0.0.1:8080 --fast
يطبع هذا نتيجة قابلة للقراءة للبشر. استخدم --target / -t لـ URL وكرّرها لعدة URLs. استخدم --target-file PATH لملف يحتوي على أسطر URL، أو --target-file - لـ stdin.
يظل --input PATH و -I PATH تهجئتين متكافئتين لـ --target-file PATH.
اختر مصدر إدخال واحدًا؛ تستخدم الاستجابات المحفوظة --evidence للتحليل دون اتصال.
| الهدف | اختر | المجموعة |
|---|---|---|
| بصمة نشطة سريعة | --fast | فحص عادي، بدون user-agent، ومدمج |
| فحص نشط أوسع | --deep | ثمانية أنواع طلبات مختارة؛ وهو أيضًا الوضع الافتراضي عند عدم تحديد وضع |
| فحص الاستجابات العادية فقط | --baseline | طلب عادي واحد، دون فحوصات نشطة |
| إعادة استخدام الاستجابات المحفوظة | --evidence FILE | تصنيف دون اتصال، دون طلبات جديدة |
يمكن لـ --baseline العثور على بصمات موجودة بالفعل في استجابة عادية. استخدمه
عندما تريد فحص HTTP عاديًا دون فحوصات نشطة؛ فهو ليس خطوة إعداد
لـ --fast أو --deep. الأوضاع الحية الثلاثة حصرية متبادلة، وتؤثر عمليات إعادة التوجيه
والميزانيات على أعداد الطلبات الفعلية. راجع
أوضاع الجمع والحمولات لمعرفة المقايضات.
# Discover URLs, then send new wafmeow requests:
httpx -l authorized-hosts.txt -silent |
./wafmeow --target-file - --fast --jsonl --silent
# Classify exported responses without additional requests:
httpx -l authorized-hosts.txt -silent -json -irr -probe -rstr 1048576 -rsts 1048576 |
./wafmeow --evidence - --evidence-format httpx --jsonl --silent
يستهدف المستورد httpx v1.12.0. تفتقر الأجسام المصدَّرة إلى إثبات الاكتمال:
يبقى تطابق المحتوى غير معروف، بينما يمكن أن تتطابق أدلة الحالة/الترويسة/الكوكي
الموثوقة. هذا لا يعادل الاستحواذ النشط أو إثبات غياب WAF.
استخدم set -o pipefail عندما يجب أن تؤدي إخفاقات العملية الأولية إلى فشل خط أنابيب الصدفة.
الترميز والقيود والحدود ووصفات المعالجة اللاحقة.
تستخدم مكتبة Go الوحدة github.com/Lu1sDV/wafmeow/v3. يستخدم JSON النتائج
المخطط 1؛ إصدارات الوحدة والتقرير عقود منفصلة.