Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
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.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
restler-fuzzer — RESTler es la primera herramienta de fuzzing de API REST con estado para probar automáticamente servicios en la nube a través de sus API REST y encontrar fallos de seguridad y fiabilidad en estos servicios. | Kitploit
Herramientas/GitHubGitHub/microsoft/restler-fuzzer
Escáneres de VulnerabilidadesPruebas de Seguridad de APIsSeguridad WebFuzzingSeguridad en la Nube
GitHubmicrosoft/restler-fuzzer

restler-fuzzer

RESTler es la primera herramienta de fuzzing de API REST con estado para probar automáticamente servicios en la nube a través de sus API REST y encontrar fallos de seguridad y fiabilidad en estos servicios.

Ver Repositorio
2.9k33125hace 8 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

RESTler

¿Qué es RESTler?

RESTler es la primera herramienta de fuzzing de API REST con estado para probar automáticamente servicios en la nube a través de sus API REST y encontrar errores de seguridad y confiabilidad en estos servicios. Para un servicio en la nube dado con una especificación OpenAPI (anteriormente Swagger), RESTler analiza toda su especificación y luego genera y ejecuta pruebas que ejercitan el servicio a través de su API REST.

RESTler infiere inteligentemente dependencias productor-consumidor entre tipos de solicitudes a partir de la definición OpenAPI. Durante las pruebas, verifica clases específicas de errores y aprende dinámicamente cómo se comporta el servicio a partir de respuestas anteriores del servicio. Esta inteligencia permite a RESTler explorar estados de servicio más profundos alcanzables solo a través de secuencias de solicitudes específicas y encontrar más errores.

RESTler está descrito en estos artículos de investigación revisados por pares:

  1. RESTler: Fuzzing de API REST con Estado (ICSE'2019)
  2. Verificación de Propiedades de Seguridad de API REST de Servicios en la Nube (ICST'2020)
  3. Pruebas de Regresión Diferencial para API REST (ISSTA'2020)
  4. Fuzzing Inteligente de Datos de API REST (FSE'2020)

Si usas RESTler en tu investigación, por favor cita el artículo (por defecto) de ICSE'2019 (BibTeX).

RESTler incluye múltiples estrategias de generación de pruebas. Para obtener una visión comparativa completa con respecto a (i) eficiencia (es decir, qué tan rápido puede RESTler encontrar fallos) y (ii) efectividad (es decir, cuántos fallos puede encontrar RESTler en un período de tiempo dado), recomendamos comparar todos los fuzzing_mode(s) documentados, ya que cada uno proporciona un equilibrio diferente entre amplitud y profundidad de exploración del espacio de estados. También recomendamos ejecutar el modo test antes de cualquier fuzzing, como se describe a continuación, para descubrir y solucionar problemas de configuración (por ejemplo, agregar valores de parámetros de requisitos previos al diccionario) antes del fuzzing.

RESTler fue creado en Microsoft Research y aún está en desarrollo activo.

Para una visión general y demostración sobre cómo comenzar, consulta Webinar - Fuzzing para Mejorar la Seguridad y Confiabilidad de los Servicios en la Nube.

Arquitectura de RESTler

Estado de compilación

Build Status

Configuración de RESTler

RESTler fue diseñado para ejecutarse en máquinas de 64 bits con Windows o Linux. También se ha habilitado soporte experimental para macOS.

Instrucciones de compilación

Docker

En la raíz de este repositorio, ejecuta

docker build -t restler .

El contenedor docker resultante tendrá RESTler disponible en el directorio /RESTler/restler con el binario principal Restler.

Luego puedes usar esta imagen docker como base para agregar la aplicación bajo prueba y ejecutar fuzzing dentro de contenedores docker aislados.

Local

Requisitos previos: Instala Python 3.12.8 y .NET 8.0, para tu sistema operativo correspondiente.

Crea un directorio donde quieras colocar los binarios de RESTler:

mkdir restler_bin

Cambia al directorio raíz del repositorio y ejecuta el siguiente script de Python:

python ./build-restler.py --dest_dir <full path to restler_bin above>

Nota: si obtienes el error de nuget NU1403 al compilar, una solución rápida es limpiar tu caché con este comando

dotnet nuget locals all --clear

Uso de RESTler

RESTler se ejecuta en 4 modos principales (en orden):

  1. Compilar: a partir de una definición OpenAPI JSON o YAML (y opcionalmente ejemplos), genera una gramática de RESTler. Consulta Compilación.
  2. Probar: ejecuta rápidamente todos los puntos finales+métodos en una gramática compilada de RESTler para depurar la configuración de prueba y calcular qué partes de la definición OpenAPI están cubiertas. Este modo también se llama smoketest. Consulta Pruebas. Para usar configuraciones personalizadas del motor de pruebas, consulta Configuraciones del Motor de Pruebas.
  3. Fuzz-lean: ejecuta una vez cada punto final+método en una gramática compilada de RESTler con un conjunto predeterminado de verificadores (checkers) para ver si se pueden encontrar errores rápidamente. Consulta Fuzzing.
  4. Fuzz: caza de errores: explora una gramática de fuzzing de RESTler en modo inteligente de búsqueda en amplitud (modo de búsqueda más profunda) para encontrar más errores. Advertencia: Este tipo de fuzzing es más agresivo y puede causar interrupciones en el servicio bajo prueba si el servicio está mal implementado (por ejemplo, el fuzzing podría crear fugas de recursos, degradación de rendimiento, corrupción de backend, etc.). Consulta Fuzzing.

Inicio rápido

Para una introducción rápida con ejemplos simples, consulta este Tutorial.

Para probar rápidamente RESTler en tu API, consulta Inicio rápido.

Errores encontrados por RESTler

Actualmente hay dos categorías de errores encontrados por RESTler.

  • Código de error: actualmente, cada vez que se recibe una respuesta con código de estado 500 ("Error interno del servidor"), se reporta un error.
  • Verificadores (Checkers): cada verificador intenta desencadenar errores específicos ejecutando solicitudes adicionales dirigidas o secuencias de solicitudes en ciertos puntos durante el fuzzing, determinados por el contexto. Algunos verificadores intentan encontrar 500 adicionales, mientras que otros intentan encontrar errores lógicos específicos como fugas de recursos o violaciones de jerarquía. Para una descripción completa de los verificadores, consulta Verificadores.

Cuando se encuentra un error, RESTler reporta los errores clasificados en cubos de errores (bug buckets) y proporciona un registro de reproducción que se puede usar para reproducir el error (consulta Reproducción).

Temas avanzados

Para consejos sobre cómo usar RESTler de manera efectiva, consulta Mejores prácticas y Mejora de la cobertura de API.

Consulta también estas Preguntas frecuentes.

Descargar herramienta