
Analisar documentos OpenAPI no Burp Suite para automatizar avaliações de segurança de APIs baseadas em OpenAPI (aprovado pela PortSwigger para inclusão em sua loja oficial BApp Store).
[!UPDATE] Esta extensão foi atualizada para usar a mais recente API Burp Montoya Java. A extensão passou por uma reformulação completa para melhorar tanto sua
UI/UXquanto seu desempenho. Essas mudanças garantem que a extensão seja moderna e otimizada para uso.
Burp SuiteAPIOpenAPIA Especificação
OpenAPI(OAS) define uma interface padrão e independente de linguagem de programação paraAPIsREST, que permite que humanos e computadores descubram e entendam as capacidades de um serviço sem precisar de acesso ao código-fonte, documentação adicional ou inspeção de tráfego de rede. Quando definida adequadamente viaOpenAPI, um consumidor pode entender e interagir com o serviço remoto com uma quantidade mínima de lógica de implementação. Semelhante ao que as descrições de interface fizeram para a programação de baixo nível, a EspecificaçãoOpenAPIelimina suposições ao chamar um serviço.Casos de uso para documentos de definição de
APIlegíveis por máquina incluem, mas não se limitam a: documentação interativa; geração de código para documentação, clientes e servidores; e automação de casos de teste. Os documentosOpenAPIdescrevem os serviços de umaAPIe são representados nos formatosYAMLouJSON. Esses documentos podem ser produzidos e servidos estaticamente ou gerados dinamicamente a partir de uma aplicação.
Realizar avaliação de segurança de APIs baseadas em OpenAPI pode ser uma tarefa tediosa devido à falta de capacidade nativa de análise de OpenAPI no Burp Suite (padrão da indústria). Uma solução para essa situação é usar ferramentas de terceiros (por exemplo, SOAP-UI) ou implementar scripts personalizados (muitas vezes por engajamento) para lidar com a análise de documentos OpenAPI e integrar/encadear os resultados ao Burp Suite para usar suas capacidades de varredura de primeira classe.
O openapi-parser é um analisador OpenAPI que visa simplificar todo esse processo, permitindo que profissionais de segurança usem o Burp Suite como uma ferramenta independente para avaliação de segurança de APIs baseadas em OpenAPI.
OpenAPI podem ser analisados a partir de um arquivo fornecido ou de uma URL. A extensão pode buscar documentos OpenAPI diretamente de uma URL usando o recurso Enviar para o Analisador Swagger no menu de contexto Alvo -> Mapa do site.OpenAPI, anteriormente conhecidos como Especificação Swagger, totalmente compatíveis com as Especificações OpenAPI 2.0/3.0 (OAS).Comparador, Intruder, Organizador, Repetidor, Scanner, Mapa do site e Escopo do Burp.Analisador OpenAPI)' do editor de mensagens do Burp.API "interessantes" e/ou as codifiquem por cores para fins de relatório.CSV, permitindo que os usuários exportem facilmente solicitações de API selecionadas no formato CSV para análise ou relatórios adicionais.JSON e YAML.Sistema Operacional: Compatível com sistemas operacionais Linux, macOS e Windows.
Java Development Kit (JDK): Versão 11 ou superior.
Burp Suite Professional ou Community Edition: Versão 2023.11.1.3 ou superior.
[!IMPORTANT] Observe que o uso de qualquer versão inferior a
2023.3.2pode resultar em um java.lang.NoSuchMethodError. É crucial usar a versão especificada ou uma mais recente para evitar esse problema.
Versão 8.5 ou superior (recomendado). O arquivo build.gradle está disponível no repositório do projeto.JAVA_HOME para apontar para o diretório de instalação do JDK.Certifique-se de que todos os requisitos de sistema, incluindo uma versão compatível do Burp Suite, sejam atendidos antes de compilar e executar o projeto. Observe que as dependências externas do projeto serão gerenciadas e instaladas automaticamente pelo Gradle durante o processo de construção. Seguir os requisitos ajudará a evitar possíveis problemas e reduzirá a necessidade de abrir novos problemas no repositório do projeto.
Certifique-se de ter o Gradle instalado e configurado.
Baixe o repositório openapi-parser:
git clone https://github.com/aress31/openapi-parser
cd .\openapi-parser\
Construa o jar autônomo:
./gradlew fatJar
Burp SuitePara instalar o openapi-parser no Burp Suite, primeiro vá até a aba Extensões e clique no botão Adicionar. Em seguida, selecione o arquivo openapi-parser-all localizado na pasta .\build\libs para carregar a extensão.
Alternativamente, você pode pular a etapa de Compilação e baixar a extensão diretamente da BApp Store.
Nota: A versão distribuída na BApp Store pode estar desatualizada em relação à versão disponível neste repositório.
OpenAPI para coletar todos os parâmetros aninhados, juntamente com seus exemplos/tipos.MyHttpRequest em vez de RequestWithMetadata.API diretamente da GUI.API fornecidas pelo usuário).Param adicionando o tipo dos parâmetros (por exemplo, inquery, inbody).Consulte TODO para tarefas adicionais pendentes.
Em julho de 2016, após postar uma solicitação de melhoria no fórum de suporte do PortSwigger, decidi tomar a iniciativa e implementar uma solução por conta própria.
A extensão ainda está em desenvolvimento; feedback, comentários e contribuições são muito apreciados.
Se esta extensão economizou seu tempo e esforço durante uma avaliação de segurança, considere demonstrar seu apoio patrocinando um café ☕ para o desenvolvedor. É o combustível que impulsiona o desenvolvimento, afinal. Basta clicar no botão Patrocinar no topo da página ou clique aqui para contribuir e manter a cafeína fluindo. 💸
Encontrou um bug? Bem, não deixe ele rastejando por aí! Vamos esmagá-lo juntos como dois caçadores de bugs! 🐛💪
Por favor, relate quaisquer problemas no rastreador de issues do GitHub. Juntos, vamos tornar esta extensão tão confiável quanto uma barata sobrevivendo a um apocalipse nuclear! 🚀
Quer causar impacto com suas habilidades de programação? 💻
Incrível! Contribuições são bem-vindas e muito apreciadas. Envie todos os PRs no rastreador de pull requests do GitHub. Juntos podemos tornar esta extensão ainda mais incrível! 🚀
Veja LICENSE.