
As assinaturas do wafw00f. Velocidade do Go. Nativo para pipelines. Detecção de WAF a partir de HTTP em tempo real e capturas offline.
As impressões digitais do wafw00f. Velocidade do Go. Nativo para pipelines.
172 identidades de produtos WAF, construídas sobre as impressões digitais do wafw00f.
Uma CLI e biblioteca em Go para análise de HTTP ao vivo e de respostas salvas offline.
Início rápido · Migrando do wafw00f · Benchmarks · Documentação
Abrir demonstração dividida em tamanho real
wafmeow é uma alternativa ao wafw00f para detecção de WAF em Go, construída sobre o trabalho de impressões digitais do projeto upstream. Ele traz fingerprinting de WAF rápido para pipelines concorrentes e estruturados, para equipes que precisam detectar WAF em escala.
jq, ferramentas de notificação ou um banco de dados,
mantendo os diagnósticos humanos em stderr.# 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
Este pipeline usa --fast para uma verificação ativa rápida de cada URL descoberta.
Para exportações existentes de respostas do httpx, use o
pipeline de importação offline.
Compile com Go 1.26 ou mais recente, usando uma toolchain com patches de segurança. As builds de release usam Go 1.27.3.
git clone https://github.com/Lu1sDV/wafmeow.git
cd wafmeow
go build -o wafmeow ./cmd/wafmeow
./wafmeow --help
Para produção, use uma release que passe nos critérios de validação de release. Os downloads da v1.0.0 são anteriores ao endurecimento de segurança presente nesta árvore de código-fonte.
Binários pré-compilados, o módulo Go e a instalação via Homebrew estão em Releases e instalação:
go install github.com/Lu1sDV/wafmeow/v3/cmd/wafmeow@latest
brew install Lu1sDV/tap/wafmeow
O comando de instalação Go /v3 requer uma versão v3 publicada. Antes desse
lançamento, compile a partir do checkout do código-fonte acima; o Homebrew continua instalando a
versão estável publicada mais recente.
# Use your own local HTTP server on port 8080.
./wafmeow --target http://127.0.0.1:8080 --fast
Isso imprime um resultado legível por humanos. Use --target / -t para uma URL e repita
para várias URLs. Use --target-file PATH para um arquivo de linhas de URL, ou
--target-file - para stdin.
--input PATH e -I PATH continuam sendo grafias equivalentes de --target-file PATH.
Escolha uma fonte de entrada; respostas salvas usam --evidence para análise offline.
| Objetivo | Escolha | Coleta |
|---|---|---|
| Fingerprinting ativo rápido | --fast | Sonda normal, sem user-agent e combinada |
| Sondagem ativa mais ampla | --deep | Oito tipos de requisição selecionados; também o padrão quando nenhum modo é informado |
| Inspecionar apenas respostas normais | --baseline | Uma requisição normal, sem sondas ativas |
| Reutilizar respostas salvas | --evidence FILE | Classificação offline, sem novas requisições |
--baseline pode encontrar fingerprints já presentes em uma resposta comum. Use-o
quando quiser inspeção HTTP normal sem sondas ativas; não é uma etapa de configuração
para --fast ou --deep. Os três modos ao vivo são mutuamente exclusivos, e
redirecionamentos e orçamentos afetam as contagens reais de requisições. Consulte
modos de coleta e payloads para conhecer os trade-offs.
# Discover URLs, then send new wafmeow requests:
httpx -l authorized-hosts.txt -silent |
./wafmeow --target-file - --fast --jsonl --silent