
🛡️ उच्च-प्रदर्शन WAF और CDN डिटेक्शन टूल। सुरक्षा परतों (Cloudflare, Akamai, AWS, Fastly, और अन्य) की पहचान करें, evasion payloads के साथ प्रभावशीलता और प्रवर्तन परीक्षण चलाएँ, और posture रिपोर्ट तैयार करें। Rust 🦀 में निर्मित।
वेब एप्लिकेशन फ़ायरवॉल (WAF) और कंटेंट डिलीवरी नेटवर्क (CDN) का पता लगाने, परीक्षण करने और प्रोफाइलिंग करने के लिए CLI टूल।
महत्वपूर्ण: केवल उन्हीं सिस्टम का परीक्षण करें जिनका आप स्वामी हैं या जिनके परीक्षण के लिए आपके पास स्पष्ट प्राधिकरण है।
AI कोडिंग एजेंट के लिए: स्किल मैपिंग और वर्कफ़्लो संकेतों के लिए AGENTS.md देखें। पूर्ण मूल्यांकन के लिए agent-skills/waf-assess/WORKFLOW.md का उपयोग करें; मर्ज से पहले agent-skills/validate-build/WORKFLOW.md का उपयोग करें।
| मोड | यह क्या परीक्षण करता है | फ़्लैग |
|---|
| डिटेक्शन | पहचानता है कि कौन सा WAF/CDN किसी लक्ष्य की सुरक्षा करता है | waf-detect <url> |
| स्मोक टेस्ट | ज्ञात हमला पेलोड भेजता है, ब्लॉक दर मापता है | --smoke-test <url> |
| एनफोर्समेंट टेस्ट | श्रेणीबद्ध हमला प्रोब भेजता है, ब्लॉक/चैलेंज/अनुमति मापता है | --va <url> |
| व्यवहारिक विश्लेषण | 5 चैनलों में WAF की परिष्कृतता का परीक्षण करने वाले युग्मित प्रोब | --va2 <url> --va2-run |
| पोस्चर रिपोर्ट | सभी परीक्षण परिणामों को मिलाकर एकीकृत ग्रेड (A-F) | --posture <url> |
| HTML रिपोर्ट | सहेजे गए JSON परिणामों को साझा करने योग्य स्थिर रिपोर्ट में प्रस्तुत करता है | report <file.json> |
cargo build --release
./target/release/waf-detect scan example.com
# Full hardening scan + HTML report
./target/release/waf-detect hardening https://example.com --output /tmp/example-hardening.json
./target/release/waf-detect report /tmp/example-hardening.json --output /tmp/example-hardening.html
| मोड | कमांड |
|---|---|
| डिटेक्शन | waf-detect scan <url> या waf-detect <url> |
| हार्डनिंग | waf-detect hardening <url> --output file.json |
| स्मोक टेस्ट | waf-detect --smoke-test <url> |
| एनफोर्समेंट | waf-detect va <url> |
| व्यवहारिक | waf-detect va2 <url> --run |
| पोस्चर | waf-detect --posture <url> |
| प्रभावशीलता | waf-detect --effectiveness <url> |
| ओरिजिन प्रोब | waf-detect origin-probe <url> --json |
| HTML रिपोर्ट | waf-detect report <file.json> -o <file.html> |
हेडर, बॉडी, DNS, TLS और टाइमिंग के माध्यम से WAF/CDN की पहचान करता है। 12 प्रदाता: CloudFlare, AWS, Akamai, Fastly, Vercel, Azure, F5, Imperva, ModSecurity, Sucuri, Radware, FortiWeb।
waf-detect scan example.com --json
waf-detect scan @urls.txt --ndjson
ज्ञात हमला पेलोड भेजता है और मापता है कि WAF क्या ब्लॉक करता है, चैलेंज करता है, या अनुमति देता है। सक्रिय स्मोक परीक्षण केवल पंजीकृत स्वामित्व वाले लक्ष्यों के विरुद्ध चलता है।
./target/release/waf-detect --smoke-test example.com
# Aggressive mode (more payloads)
./target/release/waf-detect --smoke-test example.com --aggressive
# Export results
./target/release/waf-detect --smoke-test example.com -o results.json
परीक्षण की गई हमला श्रेणियाँ: SQL इंजेक्शन (बेसिक + एडवांस्ड), XSS (बेसिक + एडवांस्ड), कमांड इंजेक्शन, पाथ ट्रैवर्सल, SSTI, SSRF, Log4Shell, फ़ाइल अपलोड, स्कैनर डिटेक्शन, GraphQL इंजेक्शन, HTTP रिक्वेस्ट स्मगलिंग, प्रोटोटाइप पॉल्यूशन, WebSocket इंजेक्शन, एन्यूमरेशन।
परिणाम वर्गीकरण:
BLOCKED — WAF ने अनुरोध को ब्लॉक किया (आमतौर पर 403)CHALLENGE — बॉट सुरक्षा सक्रिय हुई (JS चैलेंज, CAPTCHA)ALLOWED — अनुरोध ओरिजिन तक पहुँच गयाERROR — गैर-ब्लॉकिंग विफलता (404, 500, टाइमआउट)श्रेणीबद्ध हमला प्रोब भेजता है और विश्वास स्कोरिंग के साथ ब्लॉक/चैलेंज/अनुमति दर मापता है। पंजीकृत लक्ष्य स्कोप की आवश्यकता है।
# Register owned targets once
./target/release/waf-detect --scope init example.com
# Run enforcement test
./target/release/waf-detect --va https://example.com
# With JSON output
./target/release/waf-detect --va https://example.com --va-json
# Save report
./target/release/waf-detect --va https://example.com --va-output report.json
विकल्प:
--va-tier 1|2|3 — सुरक्षा स्तर (1 = सबसे सुरक्षित)--va-budget N — प्रति रन अधिकतम अनुरोध (डिफ़ॉल्ट: 120)--va-timeout SECONDS — प्रति-अनुरोध टाइमआउट (डिफ़ॉल्ट: 15)--va-delay MS — अनुरोधों के बीच विलंब (डिफ़ॉल्ट: 750)--va-variants N — प्रति पेलोड टेम्पलेट वेरिएंट (डिफ़ॉल्ट: 4)--va-replay — रीप्ले प्लान को JSON के रूप में निर्यात करें--va-replay-csv — रीप्ले प्लान को CSV के रूप में निर्यात करें5 HTTP चैनलों में युग्मित प्रोब — एक सौम्य, एक दुर्भावनापूर्ण — भेजकर WAF की परिष्कृतता का परीक्षण करता है। मापता है कि WAF उनके साथ अलग व्यवहार करता है या नहीं।
# Dry run (shows plan without executing)
./target/release/waf-detect --va2 https://example.com
# Run behavioral analysis
./target/release/waf-detect --va2 https://example.com --va2-run
# Full 5-phase analysis
./target/release/waf-detect --va2 https://example.com --va2-run \
--va2-phases baseline,protocol-variance,state-escalation,behavioral-pressure,challenge-interaction
# Save results
./target/release/waf-detect --va2 https://example.com --va2-run --va2-output results.json
यह क्या मापता है:
| सिग्नल | यह क्या परीक्षण करता है |
|---|---|
| एन्कोडिंग डिफेंस | क्या WAF मिलान से पहले एन्कोडेड पाथ को सामान्य करता है? |
| सेशन ट्रैकिंग | क्या WAF सेशन स्थिति को ट्रैक करता है और बार-बार दुरुपयोग पर बढ़ता है? |
| बॉट चैलेंज | क्या WAF CAPTCHA या JS चैलेंज जारी करता है? |
| रेट लिमिटिंग | क्या WAF तेज़ अनुरोधों को थ्रॉटल करता है? |
| हमला पहचान | क्या WAF हमला प्रोब को सौम्य अनुरोधों से अलग करता है? |
परीक्षण किए गए चैनल: Path, Query, Header, Body, Method। 0% हमला डिटेक्शन वाले चैनल असुरक्षित के रूप में चिह्नित किए जाते हैं।
विकल्प:
--va2-phases LIST — चलाने के लिए चरण (कॉमा-सेपरेटेड)--va2-seed N — पुनरुत्पादक परिणामों के लिए नियतात्मक सीड (डिफ़ॉल्ट: 1337)--va2-budget N — अनुरोध बजट (डिफ़ॉल्ट: 60)--va2-json — प्लान/रिपोर्ट को JSON के रूप में प्रिंट करेंडिटेक्शन विश्वास, एनफोर्समेंट परिणामों और व्यवहारिक विश्लेषण को मिलाकर एकीकृत सुरक्षा ग्रेड (A-F) और जोखिम स्कोर (0-100) उत्पन्न करता है।
# Detection only
./target/release/waf-detect --posture example.com
# Include behavioral analysis
./target/release/waf-detect --posture example.com --posture-va2
# Include enforcement testing (VA1) -- distinguishes "WAF present but not
# enforcing" (monitor/log-only mode) from "no WAF at all"
./target/release/waf-detect --posture example.com --posture-va1
# JSON output
./target/release/waf-detect --posture example.com --posture-va2 --posture-json
ग्रेड स्केल:
सहेजे गए JSON स्कैन आर्टिफैक्ट को एक स्थिर HTML रिपोर्ट में प्रस्तुत करता है जिसे स्थानीय रूप से समीक्षा करना और अन्य इंजीनियरों के साथ साझा करना आसान है।
# Render a saved hardening report
./target/release/waf-detect hardening https://example.com --output /tmp/example-hardening.json
./target/release/waf-detect report /tmp/example-hardening.json
# Render a saved posture report
./target/release/waf-detect --posture https://example.com --posture-va2 --posture-json > /tmp/example-posture.json
./target/release/waf-detect report /tmp/example-posture.json --output /tmp/example-posture.html
उत्पन्न HTML स्थिर और स्व-निहित है, इसलिए इसे स्कैन दोबारा चलाए बिना टिकटों में संलग्न किया जा सकता है, चैट में साझा किया जा सकता है, या स्थानीय रूप से खोला जा सकता है।
स्मोक टेस्ट, पेलोड विश्लेषण, एनफोर्समेंट, व्यवहारिक विश्लेषण और प्रभावशीलता परीक्षण के लिए पंजीकृत स्वामित्व वाले लक्ष्यों की आवश्यकता होती है।
# Check target scope
./target/release/waf-detect --scope
# Initialize target scope
./target/release/waf-detect --scope init example.com api.example.com
# Add authorized target
./target/release/waf-detect --scope add-target admin.example.com
# Remove target
./target/release/waf-detect --scope remove-target api.example.com
# Clear target scope
./target/release/waf-detect --scope clear
जोखिम स्कोर (पोस्चर रिपोर्ट):
सामान्य निष्कर्ष:
# List supported providers
./target/release/waf-detect --list
# Effectiveness testing (advanced evasion techniques)
./target/release/waf-detect --effectiveness example.com
# Benchmark against corpus
./target/release/waf-detect --benchmark corpus.json
# Performance snapshot
./target/release/waf-detect example.com --perf-report perf.json
# Debug output
./target/release/waf-detect example.com --debug --verbose
आउटपुट विकल्प: --json / --ndjson / --compact / --yaml · waf-detect providers · waf-detect doctor
cargo test --lib
cargo clippy -- -D warnings
cargo fmt
पूर्ण विवरण के लिए DEVELOPMENT.md देखें।
निम्नलिखित में से किसी एक के अंतर्गत लाइसेंस प्राप्त
आपकी पसंद पर।
जब तक आप स्पष्ट रूप से अन्यथा न कहें, आपके द्वारा कार्य में शामिल करने के लिए जानबूझकर प्रस्तुत कोई भी योगदान, जैसा कि Apache-2.0 लाइसेंस में परिभाषित है, बिना किसी अतिरिक्त शर्तों या शर्तों के ऊपर के रूप में दोहरी लाइसेंस प्राप्त होगा।