Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
filtron — Proxy inverso HTTP de filtrado | Kitploit
Herramientas/GitHubGitHub/asciimoo/filtron
Herramientas DefensivasSeguridad WebSeguridad de APIs
GitHubasciimoo/filtron

filtron

Proxy inverso HTTP de filtrado

Ver Repositorio
174262hace 3 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Filtron

Proxy HTTP inverso para filtrar solicitudes según diferentes reglas. Se puede usar entre el servidor web de producción y el servidor de aplicaciones para evitar abusos del backend de la aplicación.

El propósito original de este programa era defender searx, pero puede usarse para proteger cualquier aplicación web.

Instalación y configuración

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

Reglas

Una regla tiene dos atributos obligatorios: name y actions

Una regla puede contener todos los siguientes atributos:

  • limit entero - Define cuántas solicitudes coincidentes pueden acceder a la aplicación dentro de interval segundos. (Se puede omitir si es 0)
  • interval entero - Rango de tiempo en segundos para reiniciar los números de la regla (Se puede omitir si limit es 0)
  • filters lista de selectores
  • aggregations lista de selectores (si se especifica filters, se activa solo si el filtro coincide)
  • subrules lista de reglas (si se especifica filters, se activa solo si el filtro coincide)
  • disabled booleano - Deshabilitar una regla (por defecto es false)
  • stop booleano - Finalizar la validación de la solicitud inmediatamente y omitir las reglas restantes (por defecto es false)

Representación JSON de una regla:

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

Explicación: Permitir solo 10 solicitudes por minuto donde q esté representado como parámetro GET y el encabezado de agente de usuario comience con curl. La solicitud se registra en STDERR y se bloquea con un mensaje de error personalizado si se excede el límite. Vea más ejemplos aquí.

actions

Las acciones de una regla se activan secuencialmente si una solicitud supera el límite de la regla.

Nota: Solo se ejecutará la primera acción de la regla que proporcione una respuesta personalizada.

Acciones actualmente implementadas

log

Registrar la solicitud

block

Enviar respuesta HTTP 429 en lugar de pasar la solicitud a la aplicación

shell

Ejecutar un comando de shell. cmd (cadena) y args (lista de selectores) son parámetros obligatorios (Ejemplo: {"name": "shell", "params": {"cmd": "echo %v is the IP", "args": ["IP"]}})

filters

Si se encuentran todos los selectores, incrementa un contador. La regla bloquea la solicitud si el contador alcanza limit.

aggregations

Cuenta los valores devueltos por los selectores. La regla bloquea la solicitud si el número de cualquier valor alcanza limit.

subrules

Cada regla puede contener cualquier número de subreglas. Se activa con la coincidencia del filtro de la regla padre.

Selectores

Se pueden extraer diferentes partes de una solicitud utilizando expresiones selectoras.

Los selectores son cadenas que pueden coincidir con cualquier atributo de una solicitud HTTP con la siguiente sintaxis:

root@kitploit:~
[!]RequestAttribute[:SubAttribute][=Expression]
  • ! puede negar el selector
  • RequestAttribute (obligatorio) selecciona una parte específica de una solicitud - valores posibles:
    • Valor único
      • IP
      • Host
      • Path
      • Method
    • Valores múltiples
      • GET
      • POST
      • Param - es un alias tanto para GET como para POST
      • Cookie
      • Header
  • SubAttribute si no es un valor único, esto puede especificar el atributo interno

Ejemplos

IP devuelve la dirección IP del cliente

GET:x devuelve el parámetro GET x si existe

!Header:Accept-Language devuelve verdadero si no hay un encabezado HTTP Accept-Language

Path=^/(x|y)$ coincide si la ruta es /x o /y

IP=nslookup(example.com) coincide si la dirección IP del cliente es una de las direcciones IP de example.com.

API

Filtron se puede configurar a través de su API REST que escucha en 127.0.0.1:4005 por defecto.

Puntos finales de la API

/rules

Reglas cargadas en formato JSON

/rules/reload

Recargar el archivo de reglas especificado al inicio

Interfaz web

Interfaz construida sobre la API

webui

Errores

¿Errores o sugerencias? Visite el rastreador de problemas.

Descargar herramienta
RequestAttribute
  • Expression valor posible:
    • una expresión regular para filtrar los valores de los atributos seleccionados.
    • nslookup(Hostname) para filtrar los valores de los atributos seleccionados con las direcciones IP de Hostname. Filtron resuelve Hostname a sus direcciones IP cuando se carga la regla (IPv4 e IPv6).