PAGES
← all tools
◆ Reconnaissance & OSINT

wafw00f

v2.4.2 open-source

Fingerprints Web Application Firewalls (WAFs) by analyzing HTTP responses to normal and malicious requests.

Summary

wafw00f is an open-source, BSD-licensed command-line tool that fingerprints web application firewalls by sending a normal HTTP request and, if that is inconclusive, a series of malicious ones, comparing the responses against signatures for a wide range of WAF products before falling back to a generic "some security solution is present" verdict. It is aimed at penetration testers and red teamers doing recon against a target before choosing exploit or evasion techniques, run directly from a terminal against a URL, with a companion command to list every WAF it can recognise. It sits in the reconnaissance category alongside other web fingerprinting tools rather than positioning itself against a named competitor. First committed in 2014, it remains active with 60 contributors and 40 commits in the past year, though its last release was over six months ago.

Fingerprints Web Application Firewalls (WAFs) by analyzing HTTP responses to normal and malicious requests.

How wafw00f helps

Is there a web application firewall standing between me and this target before I start testing?

sends a normal HTTP request and inspects the response for signatures matching known WAF products, reporting the vendor and product name if one matches

Which specific product is filtering requests to this application?

sends a series of crafted, potentially malicious requests when the normal one is inconclusive, and compares differences in the responses against a set of vendor signatures to name the product

Is my exploit attempt failing because of the application itself or because something is blocking it before it gets there?

compares the response to a normal request against the response to an attack string, flagging a status-code change such as 200 to 400 as evidence that a security solution intercepted the request

Should I plan for evasion techniques even though nothing named itself in the response?

falls back to a generic verdict that some security solution is present, based on differing behavior across the requests it sent, even when no signature match identifies which one

Am I testing the real backend or a filtered edge in front of it?

records how many requests it took and whether responses diverged between a plain request and attack payloads, showing whether traffic is reaching the origin unmodified

all 3 features, with the evidence for each →

Languages

Not documented

Features

3 capabilities · 1 backed by code, an API document or a real run

Built from wafw00f's releases, docs, README and our own runs. “Seen” marks the month we first spotted a release the vendor didn't date. Group names and tags are our labels.

Compare with peers →

What wafw00f offers you

  • Command-line interface2
  • CSV data export1
  • JSON data export1
All capabilities 3 capabilities
WAF detection verified Detects whether a target is protected by a WAF or security solution by comparing HTTP responses to normal and attack requests, reporting a generic positive when no specific product can be identified. 18 releases · 3 other sources · first seen May 2019

release 18 total

we ran it

  • The tool made 6 requests and determined that http://dvwa appears to be behind a WAF or security solution via generic detection: a normal request returned HTTP 200, while a file inclusion attack… Aug 2026 · the full run
  • Exit status 0 and made 6 requests. It could not identify a specific WAF product but reported a generic detection: the target returns HTTP 200 normally and HTTP 400 in response to a file inclusion… Aug 2026 · the full run
  • The tool detected that http://dvwa is behind a WAF or security solution but could not identify the specific product. Aug 2026 · the full run
Batch input via file shipped Supports reading target URLs from JSON, CSV, and TXT files. 1 release · first seen Jan 2020

Also counts toward: Command-line interface

release

  • Supports -i flag to read target URLs from JSON, CSV, and TXT files v2.1.0 · Jan 2020 · source · release history
Structured output export shipped Supports writing scan results to JSON, CSV, and TXT files. 1 release · first seen Jan 2020

Also counts toward: Command-line interface, CSV data export, JSON data export

release

  • Supports -o flag to write scan results to JSON, CSV, and TXT files v2.1.0 · Jan 2020 · source · release history

Lines in monospace are the tool's own words: help text parsed from its source, or an endpoint from its API document. Under release, a line is our summary of a dated release. Under docs, it is quoted from the tool's own documentation or website. Each links back to the source it came from.

Score card

  1. Shipping velocity releases a month, last 12 months
  2. Documentation quality release-notes rubric, 0–100
  3. Breaking-change discipline how rarely a release breaks users, and notice given
  4. Maintenance risk quiet time against its own cadence, maintainers
  5. Innovation & surface new capabilities, API and MCP surface
  6. Community health
  7. Contributor trend distinct committers, this year against last
  8. Maintainer concentration bus factor now against a year ago
  9. Issue backlog trend issues closed per issue opened, 12 months
  10. Responsiveness median time to a maintainer’s first reply

Nine scores for wafw00f, each built from the releases, notes and API history this site tracks — and, on Researcher and Business, where it stands among every measured tool in its category and how that has moved.

Score cards are part of every paid plan.

See plans →

Each score is 0–100 on a published rubric, derived from data this site already shows. A dimension we cannot measure says so — it is never scored 0 and never enters a rank.

How this is scored
  • Shipping velocity — releases a month over the last 12 months, on a log scale where 16 a month scores 100. Needs 3 releases in the window.
  • Documentation quality — the release-notes rubric published on the analytics page, unchanged.
  • Breaking-change discipline — the share of releases carrying a breaking change (none scores 100, half or more scores 0). Only projects that label breaking changes are measured: a clean record cannot be told from an unlabelled one.
  • Maintenance risk — quiet time measured against the tool's own release cadence (quiet longer than 90 days and three typical gaps scores 0), plus the number of active maintainers and whether contributors are growing, where known. Higher is lower risk.
  • Innovation & surface — new capabilities in the feature ledger this year, API and MCP operations added, and the share of commits that are features: the mean of whichever we hold.
  • Community health (open-source tools only) — each is a direction, not a size: contributors this year against last, the bus factor now against a year ago, and issues closed per issue opened, where steady scores 50, doubled 100 and halved 0; plus the median time to a maintainer's first reply (an hour scores about 100, a month or more 0). A commercial card has no repository and carries none of the four.
  • Documented delivery (commercial tools) — when a vendor's documented new capabilities have slowed against its own baseline, that counts against the overall standing as heavily as two low dimensions. Steady delivery, or too little history to judge, leaves the standing alone; it is never a sixth score.
  • Open-source tools are scored on repository signals; commercial tools on their published changelog. Ranks compare tools within one category and one profile and need at least five measured peers; the overall standing needs three ranked dimensions. Best-in-breed or consolidator is a shape, not a quality, and is never scored.

Release-note detail over time

See how much detail wafw00f puts in its release notes, quarter by quarter, and compare it with tracked tools in the same category. This history uses up to ten retained, reviewed notes per tool; sparse or blank older quarters may reflect that limit.

Checking release-note history…

Explore the full chart →

Website history

enablesecurity.com, every change

Enable Security's home page and 12 more pages as they looked each month from November 2021 to October 2026: 27 renders, 4 changes of tagline or palette. Step through them, play them, or put any two months side by side.

Website history is included with Researcher and Business.

See plans →

Releases

Show

7 entries

  1. January 20262
  2. September 20251
  3. July 20221
  4. January 20201
  5. December 20191
  6. May 20191
    Show

    7 entries

    Project health

    Issue, contributor and maintainer activity in EnableSecurity/wafw00f, 2023-10 – 2026-09, as of 2026-09-25. Twelve-month figures first; the trend lines run the whole window.

    1. Contributors 10 ±0 vs prior 12 months
    2. Maintainers 1 +2 joined · −3 left, last 12 months
    3. Bus factor 1 committers behind half the commits
    4. Community-filed 100% of issues opened, last 12 months
    5. Median time to close 29 days first maintainer reply 5.2 days
    6. Open backlog 0 of 109 issues ever filed
    1. Issues opened / month 0 · 0 communitymaintainers
    2. Open backlog 0
    3. Contributors / month 0
    4. Commits / month 0
    5. Stars 6,547
    Issue themes, last 12 months
    • other 100%

    Counts from the project's public repository and git history; no individuals are identified. Maintainers are the committers covering 80% of the last year's commits. how we measure this

    Libraries its release ships

    What its latest release locks, checked against known advisories.

    None of its release's images build from a lockfile we can read.

    Add the badge to your README

    Maintain this project? The badge links readers straight to this page, so they can follow every release here.

    Tracked by Cyber Toolchain Choose a badge style and copy the code →
    browse all tools → score card for your toolchain →