Tutoriales

Analizar documentos OpenAPI en Burp Suite para la automatización

Swurg es una extensión de Burp Suite diseñada para pruebas de OpenAPI.

La especificación OpenAPI (OAS) define una descripción de interfaz estándar e independiente del lenguaje de programación para las API REST, que permite que tanto humanos como computadoras descubran y comprendan las capacidades de un servicio sin necesidad de acceder al código fuente, documentación adicional o inspección del tráfico de red. Cuando se define correctamente a través de OpenAPI, un consumidor puede comprender e interactuar con el servicio remoto con una cantidad mínima de lógica de implementación. De manera similar a lo que han hecho las descripciones de interfaz para la programación de nivel inferior, la especificación OpenAPI elimina las conjeturas al llamar a un servicio.

Los casos de uso para documentos de definición de API legibles por máquina incluyen, entre otros: documentación interactiva, generación de código para documentación, clientes y servidores, y automatización de casos de prueba. Los documentos OpenAPI describen los servicios de una API y se representan en YAML o JSON. Estos documentos pueden producirse y servirse estáticamente o generarse dinámicamente desde una aplicación.

– Iniciativa OpenAPI

Realizar una evaluación de seguridad de las API basadas en OpenAPI puede ser una tarea tediosa debido a que Burp Suite (estándar de la industria) carece de capacidades nativas de análisis de OpenAPI. Una solución a esta situación es utilizar herramientas de terceros (por ejemplo, SOAP-UI) o para implementar scripts personalizados (a menudo por compromiso) para manejar el análisis de documentos OpenAPI e integrar/encadenar los resultados a Burp Suite para usar sus capacidades de escaneo de primera clase.

Swurg es un analizador de OpenAPI que tiene como objetivo optimizar todo este proceso al permitir que los profesionales de la seguridad utilicen Burp Suite como una herramienta independiente para la evaluación de la seguridad de las API basadas en OpenAPI.


Funciones admitidas

  • Los documentos de OpenAPI se pueden analizar desde un archivo proporcionado o desde una URL. La extensión puede obtener documentos de OpenAPI directamente desde una URL usando el Send to Swagger Parser característica bajo el Target -> Site map Menú de contexto.
  • Analizar documentos de OpenAPI, anteriormente conocido como el Swagger specificationtotalmente compatible con las especificaciones OpenAPI 2.0/3.0 (OAS).
  • Las solicitudes se pueden ver/editar directamente dentro de la extensión antes de enviarlas a otras herramientas de Burp.
  • Las solicitudes pueden enviarse a la Comparer, Intruder, Repeater, Scanner, Site map and Scope Herramientas para eructar.
  • Las solicitudes que coincidan con criterios específicos (detallados en la pestaña ‘Parámetros’) se pueden interceptar para que coincidan y reemplacen automáticamente los valores predeterminados de los parámetros analizados definidos en la pestaña ‘Parámetros’. Esta función permite ajustar las solicitudes antes de enviarlas a otras herramientas de Burp (p. ej., escáner) Las solicitudes editadas se pueden ver en la pestaña ‘Solicitud modificada (OpenAPI Parser)’ del editor de mensajes de Burp.
  • Resaltado de filas que permite a los pentesters resaltar llamadas API «interesantes» y/o codificarlas con colores para fines de informes.
  • Admite formatos JSON y YAML.

Instalación

Compilacion

Windows y Unix

  • Instale y configure Gradle (https://gradle.org/) en su sistema.
  • Descargar/clonar este repositorio

$ git clonar https://github.com/ares31/swurg
$ cd .\swurg\

Crea el jar independiente:

$ gradle fatJar

Cargando la extensión en Burp Suite

En Burp Suite, bajo el Extender/Options pestaña, haga clic en el Add botón y cargar el swurg-all archivo jar ubicado en el .\build\libs carpeta.

Alternativamente, ahora puede instalar/cargar directamente esta extensión desde el BApp Store.

Nota: La versión distribuida en el BApp Store podría estar detrás de la versión disponible en este repositorio.


Posibles Mejoras

  • Embellecer la interfaz gráfica de usuario.
  • Análisis profundo de los esquemas de OpenAPI para recopilar todos los parámetros anidados junto con su ejemplo/tipo.
  • Simplificación/refactorización de código.
  • Habilite la edición de celdas para cambiar las llamadas a la API directamente desde la GUI.
  • Optimiza aún más el código fuente.
  • Implemente soporte para pruebas autenticadas (a través de claves API proporcionadas por el usuario).
  • Mejore la columna Param agregando el tipo de parámetros (por ejemplo, inquery, inbody, etc.).
  • Implementar las tablas y menús contextuales.
  • Aumente la verbosidad de la extensión (a través del panel inferior).

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Botón volver arriba