
wafw00f-Signaturen. Go-Geschwindigkeit. Pipeline-nativ. WAF-Erkennung aus Live-HTTP und Offline-Captures.
wafw00f's Fingerprints. Go-Geschwindigkeit. Pipeline-nativ.
172 WAF-Produktidentitäten, basierend auf wafw00f's Fingerprints.
Eine Go-CLI und -Bibliothek für Live-HTTP- und Offline-Analyse gespeicherter Antworten.
Schnellstart · Umstieg von wafw00f · Benchmarks · Dokumentation
Vollständige Split-Demo öffnen
wafmeow ist eine wafw00f-Alternative für die WAF-Erkennung in Go, basierend auf der Fingerprint-Arbeit des Upstream-Projekts. Es bringt schnelles WAF-Fingerprinting in nebenläufige, strukturierte Pipelines für Teams, die WAF im großen Maßstab erkennen müssen.
jq, Benachrichtigungstools oder einer Datenbank,
während menschenlesbare Diagnosen auf stderr bleiben.# Set AUTHORIZED_DOMAIN to a domain you own or are authorized to test.
set -o pipefail
subfinder -d "${AUTHORIZED_DOMAIN:?set an authorized domain}" -silent |
httpx -silent |
wafmeow --target-file - --fast --jsonl --silent
Diese Pipeline verwendet --fast für einen schnellen aktiven Scan jeder entdeckten URL.
Für vorhandene httpx-Antwort-Exporte verwenden Sie die
Offline-Import-Pipeline.
Erstellen Sie mit Go 1.26 oder neuer und verwenden Sie dabei eine sicherheitsgepatchte Toolchain. Release-Builds verwenden Go 1.27.3.
git clone https://github.com/Lu1sDV/wafmeow.git
cd wafmeow
go build -o wafmeow ./cmd/wafmeow
./wafmeow --help
Für den Produktivbetrieb verwenden Sie ein Release, das die Release-Validierungsgates besteht. Die v1.0.0-Downloads stammen aus der Zeit vor der Sicherheitshärtung in diesem Quellbaum.
Vorkompilierte Binärdateien, das Go-Modul und die Homebrew-Installation finden Sie unter Releases und Installation:
go install github.com/Lu1sDV/wafmeow/v3/cmd/wafmeow@latest
brew install Lu1sDV/tap/wafmeow
Der Go-Installationsbefehl /v3 erfordert eine veröffentlichte v3-Version. Vor dieser
Veröffentlichung bauen Sie aus dem obigen Quellcode-Checkout; Homebrew installiert weiterhin die
neueste veröffentlichte stabile Version.
# Use your own local HTTP server on port 8080.
./wafmeow --target http://127.0.0.1:8080 --fast
Dies gibt ein menschenlesbares Ergebnis aus. Verwenden Sie --target / -t für eine URL und wiederholen Sie es für mehrere URLs. Verwenden Sie --target-file PATH für eine Datei mit URL-Zeilen oder --target-file - für stdin.
--input PATH und -I PATH bleiben gleichwertige Schreibweisen von --target-file PATH.
Wählen Sie eine Eingabequelle; gespeicherte Antworten verwenden --evidence für die Offline-Analyse.
| Ziel | Auswahl | Sammlung |
|---|---|---|
| Schnelles aktives Fingerprinting | --fast | Normal-, No-User-Agent- und kombinierte Probe |
| Breiteres aktives Probing | --deep | Acht ausgewählte Anfragetypen; auch der Standard, wenn kein Modus angegeben ist |
| Nur normale Antworten untersuchen | --baseline | Eine normale Anfrage, ohne aktive Probes |
| Gespeicherte Antworten wiederverwenden | --evidence FILE | Offline-Klassifizierung, ohne neue Anfragen |
--baseline kann Fingerprints finden, die bereits in einer gewöhnlichen Antwort vorhanden sind. Verwenden Sie es, wenn Sie eine normale HTTP-Inspektion ohne aktive Probes wünschen; es ist kein Einrichtungsschritt für --fast oder --deep. Die drei Live-Modi schließen sich gegenseitig aus, und Weiterleitungen und Budgets beeinflussen die tatsächlichen Anfragezahlen. Siehe
Sammlungsmodi und Payloads für die Abwägungen.
# Discover URLs, then send new wafmeow requests:
httpx -l authorized-hosts.txt -silent |
./wafmeow --target-file - --fast --jsonl --silent