-
Notifications
You must be signed in to change notification settings - Fork 934
Usage
$ wafw00f -h
______
/ \
( Woof! )
\______/ )
,, ) (_
.-. - _______ ( |__|
()``; |==|_______) .)|__|
/ (' /|\ ( |__|
( / ) / | \ . |__|
\(_)_)) / | \ |__|
WAFW00F - Web Application Firewall Detection Tool (v2.0.0)
Usage: wafw00f url1 [url2 [url3 ... ]]
Example: wafw00f http://www.victim.org/
Options:
-h, --help show this help message and exit
-v, --verbose Enable verbosity, multiple -v options increase
verbosity
-a, --findall Find all WAFs which match the signatures, do not stop
testing on the first one
-r, --noredirect Do not follow redirections given by 3xx responses
-t TEST, --test=TEST Test for one specific WAF
-l, --list List all WAFs that WAFW00F is able to detect
-p PROXY, --proxy=PROXY
Use an HTTP proxy to perform requests, examples:
http://hostname:8080, socks5://hostname:1080,
http://user:pass@hostname:8080
-V, --version Print out the current version of WafW00f and exit.
-H HEADERS, --headers=HEADERS
Pass custom headers via a text file to overwrite the
default header set.
The URL can be directly supplied to the script after WAFW00F has been built and installed on the system.
wafw00f http://example.com
Multiple URLs can be supplied one after another using spaces.
wafw00f http://example.com http://host.com http://site.tld
Option: -l
or --list
This option lists all the available supported WAF products by WAFW00F. With this option the companies manufacturing the WAF product can also be viewed alongside the WAF name.
wafw00f --list
Option: -H
or --headers
WAFW00F has its own set of default headers by which it makes the requests. The headers are specifically suited for emulating a Chrome browser running on a Windows platform. This option enables you to supply a comma separated list of custom headers which you might want WAFW00F to use during all requests.
wafw00f http://example.com -H headers.txt
NOTE: The headers which you will supply will overwrite the list of default headers.
Option: -p
or --proxy
With this option, you can use proxies to route the requests through. The scheme should be in the normal URL format <scheme>://<username:password>@<hostname>:<port>
, where the username
and password
can be used in cases where the proxy server supports authentication.
wafw00f http://example.com -p http://user:[email protected]:8080
Option: -t
or --test
This option helps you set WAFW00F to test for a single instance of a WAF. When this argument is supplied, WAFW00F will test and try to match the fingerprint for the given WAF only. The supplied WAF name should be equal to at least one of the names within wafprio.py
. You can use the --list
argument to list the products supported by the WAF.
wafw00f http://example.com -t 'Edgecast (Verizon Digital Media)'
Option: -a
or --findall
This option helps set WAFW00F on a run and lets you enumerate all possible instances of a WAF on the site being tested. The logic behind this is that WAFW00F continues testing and matching fingerprints throughout its database and doesn't exclusively stop on the first matched instance.
wafw00f http://example.com -a
Option: -v ...
This option helps set the verbosity level of the output. You can supply multiple instances of the argument for a better verbose output. More the number of -v
s, more verbose is the output.
wafw00f http://example.com -v -v
Option: -V
or --version
This option displays the current version of WAFW00F from wafw00f/__init__.py
which you're using.
wafw00f --version
Last Updated - 27/10/2019 by @0xInfection
- Home - Welcome to WAFW00F Wiki!
- Getting Started - Getting started and setting up WAFW00F.
- Usage - Basic usage of WAFW00F.
- For Developers - Contributing new WAF plugins.
- Contributing - Making new pull requests.