Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
filtron — Proxy HTTP inverso filtrante | Kitploit
Strumenti/GitHubGitHub/asciimoo/filtron
Strumenti DifensiviSicurezza WebSicurezza delle API
GitHubasciimoo/filtron

filtron

Proxy HTTP inverso filtrante

Vedi Repository
174263 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Filtron

Proxy HTTP inverso per filtrare le richieste tramite diverse regole. Può essere utilizzato tra il webserver di produzione e il server applicativo per prevenire abusi del backend dell'applicazione.

Lo scopo originale di questo programma era difendere searx, ma può essere usato per proteggere qualsiasi applicazione web.

Installazione e configurazione

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

Regole

Una regola ha due attributi obbligatori: name e actions

Una regola può contenere tutti i seguenti attributi:

  • limit intero - Definisce quante richieste corrispondenti possono accedere all'applicazione entro interval secondi. (Può essere omesso se 0)
  • interval intero - Intervallo di tempo in secondi per resettare i numeri delle regole (Può essere omesso se limit è 0)
  • filters lista di selettori
  • aggregations lista di selettori (se filters è specificato si attiva solo in caso di corrispondenza del filtro)
  • subrules lista di regole (se filters è specificato si attiva solo in caso di corrispondenza del filtro)
  • disabled booleano - Disabilita una regola (default è false)
  • stop booleano - Termina immediatamente la validazione della richiesta e salta le regole rimanenti (default è false)

Rappresentazione JSON di una regola:

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"}}
     ]
}

Spiegazione: Permette solo 10 richieste al minuto dove q è rappresentato come parametro GET e l'header user agent inizia con curl. La richiesta viene registrata su STDERR e bloccata con un messaggio di errore personalizzato se il limite viene superato. Vedi altri esempi qui.

actions

Le azioni della regola vengono attivate sequenzialmente se una richiesta supera il limite della regola.

Nota: Solo la prima azione della regola che fornisce una risposta personalizzata verrà eseguita.

Azioni attualmente implementate

log

Registra la richiesta

block

Fornisce una risposta HTTP 429 invece di passare la richiesta all'applicazione

shell

Esegue un comando shell. cmd (stringa) e args (lista di selettori) sono parametri obbligatori (Esempio: {"name": "shell", "params": {"cmd": "echo %v is the IP", "args": ["IP"]}})

filters

Se tutti i selettori vengono trovati, incrementa un contatore. La regola blocca la richiesta se il contatore raggiunge limit.

aggregations

Conta i valori restituiti dai selettori. La regola blocca la richiesta se il numero di qualsiasi valore raggiunge limit.

subrules

Ogni regola può contenere un numero qualsiasi di sottoregole. Si attiva in caso di corrispondenza del filtro della regola padre.

Selettori

Diverse parti della richiesta possono essere estratte usando espressioni di selettori.

I selettori sono stringhe che possono corrispondere a qualsiasi attributo di una richiesta HTTP con la seguente sintassi:

root@kitploit:~
[!]RequestAttribute[:SubAttribute][=Expression]
  • ! può negare il selettore
  • RequestAttribute (obbligatorio) seleziona una parte specifica di una richiesta - valori possibili:
    • Valore singolo
      • IP
      • Host
      • Path
      • Method
    • Valori multipli
      • GET
      • POST
      • Param - è un alias sia per GET che per POST
      • Cookie
      • Header
  • SubAttribute se non è un valore singolo, questo può specificare l'attributo interno

Esempi

IP restituisce l'indirizzo IP del client

GET:x restituisce il parametro GET x se esiste

!Header:Accept-Language restituisce vero se non c'è l'header HTTP Accept-Language

Path=^/(x|y)$ corrisponde se il percorso è /x o /y

IP=nslookup(example.com) corrisponde se l'indirizzo IP del client è uno degli indirizzi IP di example.com.

API

Filtron può essere configurato tramite la sua API REST che ascolta su 127.0.0.1:4005 di default.

Endpoint dell'API

/rules

Regole caricate in formato JSON

/rules/reload

Ricarica il file delle regole specificato all'avvio

WebUI

UI costruita sull'API

webui

Bug

Bug o suggerimenti? Visita il tracciatore di problemi.

Scarica lo strumento
RequestAttribute
  • Expression valore possibile:
    • un'espressione regolare per filtrare i valori dell'attributo selezionato.
    • nslookup(Hostname) per filtrare i valori dell'attributo selezionato con gli indirizzi IP di Hostname. Filtron risolve Hostname nei suoi indirizzi IP quando la regola viene caricata (IPv4 e IPv6).