
wafw00f के फ़िंगरप्रिंट। Go की गति। पाइपलाइन-नेटिव। लाइव HTTP और ऑफ़लाइन कैप्चर से WAF पहचान।
wafw00f के फ़िंगरप्रिंट। Go की गति। पाइपलाइन-नेटिव।
172 WAF उत्पाद पहचानें, wafw00f के फ़िंगरप्रिंट पर आधारित।
लाइव HTTP और ऑफ़लाइन सहेजे गए-प्रतिक्रिया विश्लेषण के लिए एक Go CLI और लाइब्रेरी।
त्वरित शुरुआत · wafw00f से आगे बढ़ना · बेंचमार्क · दस्तावेज़ीकरण
पूर्ण-आकार का स्प्लिट डेमो खोलें
wafmeow, Go में WAF पहचान के लिए एक wafw00f विकल्प है, जो अपस्ट्रीम प्रोजेक्ट के फ़िंगरप्रिंट कार्य पर आधारित है। यह तेज़ 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
यह पाइपलाइन प्रत्येक खोजे गए URL के त्वरित सक्रिय स्कैन के लिए --fast का उपयोग करती है।
मौजूदा 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
यह मानव-पठनीय परिणाम प्रिंट करता है। URL के लिए --target / -t का उपयोग करें और
कई URL के लिए इसे दोहराएँ। URL पंक्तियों की फ़ाइल के लिए --target-file PATH का उपयोग करें, या
stdin के लिए --target-file - का उपयोग करें।
--input PATH और -I PATH --target-file PATH के समान वर्तनी बने रहते हैं।
एक इनपुट स्रोत चुनें; सहेजे गए प्रतिक्रियाएँ ऑफ़लाइन विश्लेषण के लिए --evidence का उपयोग करती हैं।
| लक्ष्य | चुनें | संग्रह |
|---|---|---|
| त्वरित सक्रिय फ़िंगरप्रिंटिंग | --fast | सामान्य, no-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