WAFW00F(8)
π NAME π
okay so bestie, listen up β wafw00f is the Web Application Firewall Identification and Fingerprinting Tool. that's it. that's the whole vibe. it looks at a website and goes "hm, that firewall is giving... Cloudflare." no cap. this page is from the User Commands manual, section 8, and it's your new fave.
β¨ SYNOPSIS β¨
wafw00f url1 [url2 [url3 ... ]]
yep. you just hand it urls. as many as you want. it'll take them all, one after another, like a girl with a list of exes to check up on. π΅οΈβοΈ
π¦ DESCRIPTION π¦
The Web Application Firewall Identification and Fingerprinting Tool. periodt. π
so like, to do its little magic trick, wafw00f runs this whole detective arc:
- first it sends a normal HTTP request and analyses the response β this alone identifies a bunch of WAF solutions. slay.
- if that doesn't work out (it's not you, it's the firewall), it sends a number of potentially malicious HTTP requests and uses some simple logic to deduce which WAF it is. dramatic but effective.
- if that's also a flop, it goes back and analyses the responses it already got, then uses another simple algorithm to guess whether a WAF or security solution is active> π«
three chances. three stages. main character energy only.
π₯ OPTIONS π₯
-h,--helpβ show available options. the "what do i do now" button.-v,--verboseβ enable verbosity. and bestie, you can stack multiple-voptions to increase verbosity. more v's, more tea. π΅-a,--findallβ find all the WAFs, don't stop testing at the first one. completionist behaviour. we love.-r,--noredirectβ do not follow redirections given by 3xx responses. stay in your lane.- *
-t*WAF,--test=WAF β test for one specific WAF product. just the one. laser focus. π - *
-o*OUTPUT,--output=OUTPUT β write output to a csv, json or text file, depending on the file extension. and for stdout, specify-as the filename. iconique. - *
-f,--format=FORMAT* β force the output format tocsv,jsonortext. when the extension isn't giving what you need. - *
-i*INPUT,--input=INPUT β read targets from a file. input format can becsv,jsonortext. forcsvandjson, aurlcolumn name or element is required. (yes. required. non-negotiable. π) -l,--listβ list all the WAFs thatwafw00fis able to detect. the full roster. the whole cast. β- *
-p*PROXY,--proxy=PROXY β use an HTTP proxy to perform requests. example:http://hostname:8080,socks5://hostname:1080. incognito mode but make it network-level. -V,--versionβ print out the version. (capitalVbestie, don't mix it up with-vπ)- *
-H*FILE,--headers=FILE β pass custom headers. for example, to overwrite the default user-agent string. glow-up your requests. - *
-T*TIMEOUT,--timeout=TIMEOUT β set the timeout for the requests. don't wait forever for a reply, you're too busy for that. π --no-colorsβ disable ANSI colors in output. for when you're piping into a file and the escape codes are ruining everything. π
π AUTHORS π
the girlies behind the genius:
- Sandro Gauci (
@SandroGauci) - Pinaki Mondal (
@0xInfection)
absolute legends. we stan. π«Ά
π REPORTING BUGS π
found a bug? not me discovering a whole new problem π β you can report bugs at the project homepage issue tracker:
<https://github.com/EnableSecurity/wafw00f/issues/>
πΈ COPYRIGHT πΈ
Copyright (C) 2009-2022 WAFW00F Developers. License: BSD 3-Clause <https://opensource.org/licenses/BSD-3-Clause>.
This is free software: you are free to modify and distribute under the terms as permitted by the license provided alongwith.
(translation: it's free, it's open, go wild, just respect the license bestie β¨)
π SEE ALSO π
full documentation is available at:
<https://github.com/EnableSecurity/wafw00f/wiki/>
and that's the whole page!! ππ this version of the wafw00f page was born in October 2020, and it lives in the wafw00f manual as WAFW00F(8). go forth, fingerprint some firewalls, and stay hydrated. mwah π
ππ¦
π¦ where this page comes from
- debian trixie: wafw00f 2.3.1-1 Β· BSD-3-Clause
- ubuntu questing: wafw00f 2.3.1-1
- ubuntu resolute: wafw00f 2.3.2-1 Β· BSD-3-Clause
- ubuntu stonking: wafw00f 2.4.2-1 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms