βββ βββ ββββββ ββββββββ ββββββββββββββββββββ βββββββββββββββββββ ββββββββββββββ
βββ βββββββββββββββββββ βββββββββββββββββββββ ββββββββββββββββββββ ββββββββββββββ
βββ ββ βββββββββββββββββ ββββββββββββββ ββββββ βββ βββ βββββββββ βββββββββ βββ
ββββββββββββββββββββββββ ββββββββββββββ ββββββββββ βββ βββββββββββββββββββ βββ
βββββββββββββ ββββββ βββββββββββββββββββ ββββββ βββ ββββββ ββββββββββββββββββββββ
ββββββββ βββ ββββββ βββββββββββββββββββ βββββ βββ ββββββ βββββββββββββββββββββ
A powerful, multi-technique WAF detection and fingerprinting tool designed for penetration testers and security researchers. Identifies 30+ WAF vendors using 8 parallel detection methods.
- 30+ WAF Signatures β Cloudflare, AWS WAF, Akamai, Imperva, Sucuri, F5 BIG-IP, ModSecurity, Fortinet, Azure, GCP Cloud Armor, Fastly, Barracuda, and many more
- 8 Detection Methods:
- HTTP Header Analysis
- Cookie Fingerprinting
- Response Body Pattern Matching
- Status Code Behaviour Analysis
- SSL/TLS Certificate Inspection
- DNS CNAME Resolution
- Response Timing Anomalies
- Aggressive Payload Triggering
- Confidence Scoring β Multi-signal aggregation with cross-method bonuses
- Stealth Mode β Randomized delays and user-agent rotation
- Proxy Support β Route through Burp Suite, SOCKS, or Tor
- JSON Reports β Machine-readable output for CI/CD pipelines
- Zero Dependencies on Kali β Works on any Python 3.8+ system
# Clone the repository
git clone https://github.com/AswinMathew2004/WAF-Sentinel.git
cd waf-sentinel
# Install dependencies
pip3 install -r requirements.txt
# Make executable
chmod +x waf-sentinel.py# Most dependencies ship with Kali β just clone and run
git clone https://github.com/AswinMathew2004/WAF-Sentinel.git
cd waf-sentinel
python3 waf-sentinel.py -t example.compython3 waf-sentinel.py -t example.compython3 waf-sentinel.py -t https://target.com --aggressivepython3 waf-sentinel.py -t target.com --stealth --output report.jsonpython3 waf-sentinel.py -t target.com -a -v --proxy http://127.0.0.1:8080Usage: waf-sentinel.py [-h] -t TARGET [-a] [-s] [-o OUTPUT] [-v]
[--threads N] [--timeout N] [--proxy URL]
Options:
-t, --target Target URL or domain (required)
-a, --aggressive Enable aggressive payload-based detection
-s, --stealth Stealth mode (random delays between requests)
-o, --output Save JSON report to file
-v, --verbose Verbose output
--threads Number of threads (default: 5)
--timeout Request timeout in seconds (default: 10)
--proxy HTTP/SOCKS proxy (e.g., http://127.0.0.1:8080)
| Method | Technique | Stealth Level |
|---|---|---|
| Header Analysis | Inspects response headers for WAF-specific names and values | π’ Passive |
| Cookie Fingerprinting | Matches cookie names/patterns to known WAF signatures | π’ Passive |
| Body Analysis | Scans HTML for block page signatures and error messages | π’ Passive |
| Status Code Analysis | Detects WAF-typical HTTP response codes (403, 406, 429β¦) | π’ Passive |
| SSL/TLS Inspection | Examines certificate issuer, subject, and SAN for CDN/WAF hints | π’ Passive |
| DNS CNAME Check | Resolves DNS to identify CDN/WAF infrastructure | π’ Passive |
| Timing Analysis | Compares response times for normal vs attack-like requests | π‘ Low Risk |
| Payload Trigger | Sends benign attack payloads to provoke WAF block responses | π΄ Active |
| WAF | Vendor | Detection |
|---|---|---|
| Cloudflare | Cloudflare, Inc. | β Headers, Cookies, Body, SSL, DNS |
| AWS WAF | Amazon | β Headers, Cookies, Body |
| Akamai Kona | Akamai Technologies | β Headers, Cookies, SSL, DNS |
| Imperva / Incapsula | Imperva | β Headers, Cookies, Body, DNS |
| Sucuri | GoDaddy/Sucuri | β Headers, Cookies, Body, Server |
| F5 BIG-IP ASM | F5 Networks | β Headers, Cookies, Body, Server |
| ModSecurity | Trustwave/OWASP | β Headers, Body, Server |
| Barracuda WAF | Barracuda Networks | β Cookies, Body, Server |
| Fortinet FortiWeb | Fortinet | β Cookies, Body, Server |
| Citrix NetScaler | Citrix | β Headers, Cookies, Body |
| Wordfence | Defiant | β Cookies, Body |
| Azure Front Door | Microsoft | β Headers, Body, Server |
| Google Cloud Armor | β Headers, Body, Server | |
| StackPath | StackPath | β Headers, Body |
| DDoS-Guard | DDoS-Guard | β Headers, Cookies, Server |
| Wallarm | Wallarm | β Headers, Body |
| Reblaze | Reblaze | β Headers, Cookies |
| Radware AppWall | Radware | β Headers, Body |
| Fastly WAF | Fastly | β Headers, Body |
| Alibaba Cloud WAF | Alibaba | β Cookies, Server, Body |
| Tencent Cloud WAF | Tencent | β Cookies, Body |
| Palo Alto Networks | Palo Alto | β Body |
| LiteSpeed WAF | LiteSpeed | β Server, Body |
| Comodo WAF | Comodo | β Server, Body |
| Shield Security | Shield | β Body |
| SiteLock TrueShield | SiteLock | β Body |
| Qrator | Qrator Labs | β Cookies, Server |
| Varnish + Security | Varnish Software | β Headers, Body |
| Edgecast / Verizon | Edgecast | β Headers, Server |
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
RESULTS
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
[β] Identified 2 WAF(s):
[1] Cloudflare
Confidence : 95% (Definite)
Methods : header_analysis, cookie_analysis, body_analysis, ssl_analysis, dns_analysis
βΊ Header present: cf-ray
βΊ Server header matches: cloudflare
βΊ Cookie matches: __cf_bm
βΊ SSL certificate hints at 'cloudflare'
βΊ DNS CNAME points to: target.cdn.cloudflare.net
[2] Generic / Unknown WAF
Confidence : 40% (Low)
Methods : payload_trigger
βΊ Payload 'SQLi β Union select' triggered block (HTTP 403)
waf-sentinel/
βββ waf-sentinel.py # Main entry point
βββ core/
β βββ __init__.py
β βββ signatures.py # WAF signature database (30+ WAFs)
β βββ payloads.py # Aggressive detection payloads
β βββ utils.py # CLI display utilities
βββ requirements.txt
βββ LICENSE
βββ README.md
This tool is intended for authorized security testing and research only.
Always obtain proper written authorization before testing any target. Unauthorized testing of systems you do not own or have permission to test is illegal and may violate computer fraud and abuse laws in your jurisdiction.
The authors assume no liability and are not responsible for any misuse or damage caused by this tool.
Contributions are welcome! To add a new WAF signature:
- Fork the repository
- Add the signature to
core/signatures.pyfollowing the existing format - Test against a known target
- Submit a pull request
MIT License β see LICENSE for details.
Made with β for the security community
Star β this repo if you find it useful!