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
Herramientas/GitHubGitHub/kpomin57/waf-tester
Escáneres de VulnerabilidadesEvasión de IDS/IPSPruebas de Seguridad de APIsEvasión de WAFSeguridad WebPruebas de PenetraciónMala ConfiguraciónAprendizaje y Educación
GitHubkpomin57/waf-tester

waf-tester

Un programa para probar la funcionalidad de WAF

Ver Repositorio
26103hace 4 mesesRevisado 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

🛡️ Probador de WAF

Herramienta de Evaluación Empresarial de WAF — Payloads de ataque reales. Resultados reales. Informes listos para cumplimiento normativo.

Probador de WAF evalúa Firewalls de Aplicaciones Web enviando payloads de ataque reales a una URL proporcionada por el usuario e informando si son bloqueados. Disponible como aplicación de escritorio para Windows (Electron) y un CLI de Python que funciona en cualquier lugar.

Captura de pantalla de Probador de WAF


⚠️ Aviso Legal

Esta herramienta está destinada únicamente para pruebas de seguridad autorizadas. Úsela solo contra sistemas que posea o para los que tenga permiso explícito por escrito para realizar pruebas. Las pruebas no autorizadas de sistemas de terceros pueden violar la Ley de Abuso y Fraude Informático (CFAA) y leyes equivalentes en su jurisdicción. Los autores no asumen ninguna responsabilidad por el uso indebido.


Características

Cobertura de Pruebas — 90 Pruebas en 6 Conjuntos

Descargar herramienta
ConjuntoPruebasQué Cubre
Núcleo OWASP / CWE44Inyección SQL (12 variantes), XSS (10 variantes), path traversal, inyección de comandos, XXE, SSRF, Log4Shell, SSTI, redirección abierta
Limitación de Tasa3Ráfaga de inundación (30 concurrentes), inundación secuencial, evasión de rotación de IP X-Forwarded-For
Detección de Bots10sqlmap, Nikto, Nmap, Scrapy, Masscan, HeadlessChrome, python-requests, curl, UA vacío, cabeceras Accept faltantes
Intentos de Evasión15Codificación URL doble, Unicode fullwidth, bytes nulos, variación de mayúsculas, ofuscación de comentarios, inyección CRLF, inyección de cabecera Host, anulación de método, trucos de ruta
Seguridad de API10Introspección/lote/enumeración de GraphQL, algoritmo none y confusión de algoritmo JWT, asignación masiva, alteración de verbo HTTP, BOLA, confusión de tipo de contenido
Lógica de Negocio8Cantidad negativa, envío de precio cero, acceso a endpoint de administrador, contaminación de parámetros HTTP, enumeración de cuentas, exposición excesiva de datos, navegación forzada, escalada de privilegios

Mapeo de Cumplimiento

Cada prueba está etiquetada con uno o más marcos de cumplimiento:

  • OWASP Top 10 2021 (A01–A10)
  • CWE (Common Weakness Enumeration)
  • NIST 800-53 (SI-10, AC-3, SC-5, IA-5, etc.)
  • PCI-DSS 4.0 (Requisito 6.4)

Inteligencia de Detección

  • Comparación de línea base — obtiene un GET limpio antes de ejecutar las pruebas, luego compara cada respuesta para reducir falsos positivos
  • Puntuación de confianza — resultados calificados como ALTA, PROBABLE o INCIERTA en lugar de pasar/fallar binario
  • Evaluación multi-señal — códigos de estado, detección de palabras clave WAF y divergencia en la longitud de la respuesta influyen en el veredicto

Soporte de Autenticación

  • Token Bearer
  • Clave API (nombre de cabecera personalizado)
  • Cookie / token de sesión
  • Autenticación Básica (usuario + contraseña)

Aplicación de Escritorio Windows (Electron)

Requisitos Previos

  • Node.js 18 o posterior

Ejecutar desde el Código Fuente

root@kitploit:~
git clone https://github.com/kpomin57/waf-tester.git
cd waf-tester
npm install
npm start

Crear Instalador de Windows

root@kitploit:~
npm run build

La salida aparece en dist/ tanto como un instalador NSIS como un .exe portátil. No se requieren requisitos previos en la máquina de destino — Electron incluye su propio entorno de ejecución.


Versión CLI de Python

Una versión de Python de un solo archivo que funciona en cualquier lugar donde esté disponible Python: servidores Linux, pipelines CI/CD, contenedores Docker, WSL o cualquier entorno donde el .exe de Windows no sea una opción.

Requisitos Previos

root@kitploit:~
pip install rich requests

Uso Básico

root@kitploit:~
python waf_tester.py --url https://target.example.com

Ejecuta las 90 pruebas, solicita confirmación de autorización, imprime resultados codificados por colores en la terminal y guarda tanto un informe JSON como HTML en el directorio actual.

Opciones

BanderínDescripciónPor Defecto
--urlURL de destino (requerido)—
--suitesConjuntos separados por comas a ejecutarall
--auth-typenone / bearer / apikey / cookie / basicnone
--auth-valueToken, cadena de cookie o valor de clave API—
--auth-headerNombre de cabecera para autenticación de clave APIX-API-Key
--auth-userNombre de usuario para Autenticación Básica—
--auth-passContraseña para Autenticación Básica—
--no-baselineDeshabilitar comparación de línea baseoff
--no-rotate-uaDeshabilitar rotación de User-Agentoff
--waf-headerEnviar cabecera de identificación X-WAF-Testeroff
--outputterminal, json, html (separados por comas)todos
--output-dirDirectorio para guardar archivos de informe.
--timeoutTiempo de espera por solicitud en segundos10
--proxyURL de proxy para todas las solicitudes (ej. http://127.0.0.1:8080)off
--confirmOmitir la ventana de confirmación de autorizaciónoff

Ejemplos

root@kitploit:~
# Ejecutar todos los conjuntos
python waf_tester.py --url https://app.example.com

# Ejecutar solo los conjuntos OWASP y API
python waf_tester.py --url https://app.example.com --suites owasp,api

# Autenticación con token Bearer
python waf_tester.py --url https://app.example.com/api \
  --auth-type bearer --auth-value eyJhbGciOiJIUzI1NiJ9...

# Autenticación con clave API
python waf_tester.py --url https://app.example.com/api \
  --auth-type apikey --auth-header X-API-Key --auth-value mykey123

# Guardar informes en una carpeta, omitir confirmación (CI/CD)
python waf_tester.py --url https://app.example.com \
  --output-dir ./reports --confirm

# Solo salida en terminal — sin archivos guardados
python waf_tester.py --url https://app.example.com --output terminal

# Enrutar tráfico a través de Burp Suite
python waf_tester.py --url https://app.example.com --proxy http://127.0.0.1:8080

Ejecutar en Docker

root@kitploit:~
docker run --rm -v $(pwd)/reports:/reports \
  python:3.12-slim sh -c \
  "pip install rich requests -q && python waf_tester.py \
   --url https://target.example.com \
   --output-dir /reports --confirm"

Ejecutar en CI/CD (GitHub Actions)

root@kitploit:~
- name: Evaluación de WAF
  run: |
    pip install rich requests
    python waf_tester.py \
      --url ${{ secrets.WAF_TARGET_URL }} \
      --suites owasp,api,bypass \
      --output json \
      --output-dir ./reports \
      --confirm

- name: Subir informe
  uses: actions/upload-artifact@v3
  with:
    name: waf-report
    path: reports/

Integración con Burp Suite

El CLI de Python puede enrutar todo el tráfico de pruebas a través de Burp Suite, proporcionándole un historial HTTP completo de cada payload que Probador de WAF envía. Esto es útil para la inspección manual de solicitudes y respuestas, el ajuste fino de payloads, la resolución de problemas de comportamiento inesperado del WAF y el uso del propio escáner o repetidor de Burp en hallazgos interesantes.

Cómo funciona

Burp Suite ejecuta un listener de proxy local (por defecto 127.0.0.1:8080). Cuando apunta las variables de entorno de proxy de Probador de WAF a esa dirección, cada solicitud que la herramienta realiza pasa a través de Burp antes de llegar al destino. Ve cada payload en el historial HTTP de Burp con la solicitud y respuesta completas — código de estado, cabeceras, cuerpo — exactamente como lo vio el WAF.

Configuración

1. Inicie Burp Suite y confirme que el listener de proxy está activo:

Abra Burp → Proxy → Configuración de Proxy → confirme que el listener está en 127.0.0.1:8080 (o tome nota de su puerto si es diferente).

2. Exporte el certificado CA de Burp y confíe en él (configuración única):

Probador de WAF se conecta a destinos HTTPS, por lo que Burp necesita interceptar TLS. Vaya a Burp → Proxy → Configuración de Proxy → Importar/Exportar Certificado CA → Exportar como DER. Instálelo como CA raíz de confianza en su sistema, o establezca la variable de entorno a continuación para omitir la verificación (es adecuado para laboratorio, no para producción).

3. Ejecute Probador de WAF con --proxy:

root@kitploit:~
python waf_tester.py --url https://target.example.com --proxy http://127.0.0.1:8080

En Windows:

root@kitploit:~
python waf_tester.py --url https://target.example.com --proxy http://127.0.0.1:8080

También puede seguir usando variables de entorno si lo prefiere:

root@kitploit:~
HTTPS_PROXY=http://127.0.0.1:8080 HTTP_PROXY=http://127.0.0.1:8080 \
python waf_tester.py --url https://target.example.com

4. Desactive la interceptación de Burp:

En Burp → Proxy → Interceptar, asegúrese de que la interceptación esté desactivada — de lo contrario, Burp se detendrá en cada solicitud esperando que la reenvíe manualmente, y Probador de WAF se agotará el tiempo de espera. Desea que Burp registre pasivamente el tráfico, no lo intercepte.

5. Observe las solicitudes llegar al historial HTTP de Burp:

Cada payload de Probador de WAF aparece como una entrada separada. Puede hacer clic derecho en cualquier solicitud y enviarla al Repetidor para modificarla y reenviarla manualmente, o al Intruso para realizar más fuzzing.

Si obtiene errores TLS

Si el certificado CA de Burp no es de confianza, agregue --no-verify como solución temporal desactivando la verificación SSL en la herramienta. Alternativamente, confíe en el certificado CA de Burp en todo el sistema o use un destino HTTP (no HTTPS) para las pruebas iniciales.


Interpretación de Resultados

PuntajeCalificaciónSignificado
90–100%AExcelente — el WAF bloquea casi todos los vectores de ataque
80–89%BBueno — brechas menores que vale la pena investigar
65–79%CAceptable — existen vectores de evasión notables
50–64%DPobre — brechas de protección significativas
< 50%FCrítico — el WAF es en gran medida ineficaz

Niveles de confianza:

  • ALTA — bloqueo duro (403, 406, 429) sin ambigüedad
  • PROBABLE — palabras clave WAF en el cuerpo de la respuesta, o el estado difiere de la línea base
  • INCIERTA — bloqueo suave (400, 503) que podría ser un error legítimo de la aplicación

Flujo de Trabajo de Prueba Recomendado

  1. Ejecutar contra Juice Shop sin WAF → confirmar que la mayoría son evadidos (la herramienta funciona correctamente)
  2. Ejecutar contra ModSecurity/OWASP CRS → confirmar que la mayoría son bloqueados (la lógica de puntuación funciona)
  3. Ejecutar contra su WAF de destino → resultados de evaluación reales
root@kitploit:~
# Juice Shop (sin WAF — esperar que todos sean evadidos)
docker run -d -p 3000:3000 bkimminich/juice-shop

# ModSecurity con OWASP CRS (esperar que la mayoría sean bloqueados)
docker run -d -p 80:80 owasp/modsecurity-crs:nginx

Estructura del Proyecto

root@kitploit:~
waf-tester/
├── src/
│   ├── main.js          # Proceso principal de Electron — toda la lógica de pruebas & IPC
│   ├── preload.js       # Puente de contexto seguro
│   └── renderer/
│       ├── index.html   # Shell de la aplicación
│       ├── styles.css   # Tema oscuro militar/SOC de UI
│       └── app.js       # Lógica de UI, filtros, feed en vivo, exportación
├── waf_tester.py        # CLI de Python — archivo único, sin configuración necesaria
├── package.json
└── README.md

Registro de Cambios

v1.2.0

  • Expandido de 40 a 90 pruebas en 6 conjuntos
  • Añadido conjunto de Seguridad de API (GraphQL, JWT, asignación masiva, BOLA, alteración de verbo)
  • Añadido conjunto de Lógica de Negocio (manipulación de precios, escalada de privilegios, navegación forzada)
  • Añadidas etiquetas de cumplimiento (OWASP, CWE, NIST, PCI-DSS) en cada prueba
  • Añadido Filtro por Marco en la vista de Resultados
  • Añadido CLI de Python (waf_tester.py) — archivo único, funciona en cualquier lugar
  • Revisión completa de UI empresarial — anillos de puntuación SVG, línea de escaneo animada, fondo de cuadrícula hexagonal

v1.1.0

  • Añadido soporte de autenticación (Bearer, clave API, cookie, Autenticación Básica)
  • Añadida comparación de línea base y puntuación de confianza (ALTA / PROBABLE / INCIERTA)
  • Añadida rotación de User-Agent en 6 UAs de navegador realistas
  • Añadido interruptor de cabecera X-WAF-Tester (opt-in, desactivado por defecto)
  • Añadida casilla de verificación de permiso antes de cada escaneo
  • Corregida visibilidad del toast de exportación y bloqueo por CRLF en pruebas de evasión

v1.0.0

  • Versión inicial — 40 pruebas, 4 conjuntos, exportación JSON + HTML

Licencia

MIT — consulte LICENCIA para más detalles.


Construido para ingenieros de seguridad que necesitan una validación de WAF que va más allá del cumplimiento de casillas de verificación.