
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 Suite projetada para testes de API baseados em OpenAPIA 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, e do Burp.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).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.
Mapa do siteEscopoAnalisador 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.Param adicionando o tipo dos parâmetros (por exemplo, inquery, inbody).