Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Ferramentas/GitHubGitHub/asciimoo/filtron
Ferramentas DefensivasSegurança WebSegurança de API
GitHubasciimoo/filtron

filtron

Proxy reverso HTTP com filtragem

Ver Repositório
17426há 3 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Filtron

Proxy HTTP reverso para filtrar requisições por diferentes regras. Pode ser usado entre o servidor web de produção e o servidor de aplicação para prevenir abuso do backend da aplicação.

O propósito original deste programa era defender o searx, mas pode ser usado para proteger qualquer aplicação web.

Instalação e configuração

root@kitploit:~
$ go install github.com/asciimoo/filtron
$ "$GOPATH/bin/filtron" --help

Regras

Uma regra tem dois atributos obrigatórios: name e actions

Uma regra pode conter todos os seguintes atributos:

  • limit inteiro - Define quantas requisições correspondentes podem acessar a aplicação dentro de interval segundos. (Pode ser omitido se 0)
  • interval inteiro - Intervalo de tempo em segundos para redefinir os números da regra (Pode ser omitido se limit for 0)
  • filters lista de seletores
  • aggregations lista de seletores (se filters for especificado, ativa apenas se o filtro corresponder)
  • subrules lista de regras (se filters for especificado, ativa apenas se o filtro corresponder)
  • disabled booleano - Desabilitar uma regra (padrão é false)
  • stop booleano - Finalizar a validação da requisição imediatamente e pular as regras restantes (padrão é false)

Representação JSON de uma regra:

root@kitploit:~
{
    "name": "example rule",
    "interval": 60,
    "limit": 10,
    "filters": ["GET:q", "Header:User-Agent=^curl"],
    "actions": [
        {"name": "log",
         "params": {"destination": "stderr"}},
        {"name": "block",
         "params": {"message": "Not allowed"}}
     ]
}

Explicação: Permitir apenas 10 requisições por minuto onde q é representado como parâmetro GET e o cabeçalho user-agent começa com curl. A requisição é registrada no STDERR e bloqueada com uma mensagem de erro personalizada se o limite for excedido. Veja mais exemplos aqui.

actions

As ações da regra são ativadas sequencialmente se uma requisição exceder o limite da regra

Nota: Somente a primeira ação da regra que fornece uma resposta personalizada será executada

Ações atualmente implementadas

log

Registrar a requisição

block

Responder com HTTP 429 em vez de passar a requisição para a aplicação

shell

Executar um comando shell. cmd (string) e args (lista de seletores) são parâmetros obrigatórios (Exemplo: {"name": "shell", "params": {"cmd": "echo %v is the IP", "args": ["IP"]}})

filters

Se todos os seletores forem encontrados, incrementa um contador. A regra bloqueia a requisição se o contador atingir limit

aggregations

Conta os valores retornados pelos seletores. A regra bloqueia a requisição se o número de qualquer valor atingir limit

subrules

Cada regra pode conter qualquer número de sub-regras. Ativa quando o filtro da regra pai corresponde.

Seletores

Diferentes partes da requisição podem ser extraídas usando expressões de seletor.

Seletores são strings que podem corresponder a qualquer atributo de uma requisição HTTP com a seguinte sintaxe:

root@kitploit:~
[!]RequestAttribute[:SubAttribute][=Expression]
  • ! pode negar o seletor
  • RequestAttribute (obrigatório) seleciona uma parte específica da requisição - valores possíveis:
    • Valor único
      • IP
      • Host
      • Path
      • Method
    • Múltiplos valores
      • GET
      • POST
      • Param - é um alias para ambos GET e POST
      • Cookie
      • Header
  • SubAttribute se não for um valor único, pode especificar o atributo interno

Exemplos

IP retorna o endereço IP do cliente

GET:x retorna o parâmetro GET x se existir

!Header:Accept-Language retorna verdadeiro se não houver cabeçalho HTTP Accept-Language

Path=^/(x|y)$ corresponde se o caminho for /x ou /y

IP=nslookup(example.com) corresponde se o endereço IP do cliente for um dos endereços IP de example.com.

API

O Filtron pode ser configurado através de sua API REST que escuta em 127.0.0.1:4005 por padrão.

Endpoints da API

/rules

Regras carregadas no formato JSON

/rules/reload

Recarregar o arquivo de regras especificado na inicialização

WebUI

Interface construída sobre a API

webui

Bugs

Bugs ou sugestões? Visite o rastreador de issues.

Baixar ferramenta
RequestAttribute
  • Expression valor possível:
    • uma expressão regular para filtrar os valores do atributo selecionado.
    • nslookup(Hostname) para filtrar os valores do atributo selecionado com os endereços IP de Hostname. O Filtron resolve Hostname para seus endereços IP quando a regra é carregada (IPv4 e IPv6).