Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
spring-cloud__spring-cloud-gateway_CVE-2022-22947_3-0-6 — Repositório do Spring Cloud Gateway demonstrando a exploração da CVE-2022-22947 para testes de segurança de API e análise de vulnerabilidades. | Kitploit
Ferramentas/GitHubGitHub/shoucheng3/spring-cloud__spring-cloud-gateway_cve-2022-22947_3-0-6
Scanners de Vulnerabilidades WebAnálise de VulnerabilidadesExploraçãoTestes de Segurança de APIsSegurança WebSegurança de API
GitHubshoucheng3/spring-cloud__spring-cloud-gateway_cve-2022-22947_3-0-6

spring-cloud__spring-cloud-gateway_CVE-2022-22947_3-0-6

Repositório do Spring Cloud Gateway demonstrando a exploração da CVE-2022-22947 para testes de segurança de API e análise de vulnerabilidades.

Ver Repositório
7há 1 anoAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

//// NÃO EDITE ESTE ARQUIVO. ELE FOI GERADO. As alterações manuais neste arquivo serão perdidas quando ele for gerado novamente. Edite os arquivos no diretório src/main/asciidoc/ em vez disso. ////

image::https://circleci.com/gh/spring-cloud/spring-cloud-gateway/tree/master.svg?style=svg["CircleCI", link="https://circleci.com/gh/spring-cloud/spring-cloud-gateway/tree/master"] image::https://codecov.io/gh/spring-cloud/spring-cloud-gateway/branch/master/graph/badge.svg["Codecov", link="https://codecov.io/gh/spring-cloud/spring-cloud-gateway/branch/master"] image::https://api.codacy.com/project/badge/Grade/a6885a06921e4f72a0df0b7aabd6d118["Codacy code quality", link="https://www.codacy.com/app/spring-cloud/spring-cloud-gateway?utm_source=github.com&utm_medium=referral&utm_content=spring-cloud/spring-cloud-gateway&utm_campaign=Badge_Grade"]

Este projeto fornece um API Gateway construído sobre o Ecossistema Spring, incluindo: Spring 5, Spring Boot 2 e Project Reactor. O Spring Cloud Gateway tem como objetivo fornecer uma forma simples, porém eficaz, de rotear para APIs e fornecer a elas preocupações transversais, tais como: segurança, monitoramento/métricas e resiliência.

== Recursos

  • Java 8
  • Spring Framework 5
  • Spring Boot 2
  • Roteamento dinâmico
  • Correspondência de rotas integrada ao Spring Handler Mapping
  • Correspondência de rotas em requisições HTTP (Path, Method, Header, Host, etc...)
  • Filtros com escopo na rota correspondente
  • Filtros podem modificar a requisição HTTP e a resposta HTTP a jusante (Adicionar/Remover Headers, Adicionar/Remover Parâmetros, Reescrever Path, Definir Path, Hystrix, etc...)
true <1> true <2> true <3> <4> io.spring.javaformat spring-javaformat-maven-plugin <5> org.apache.maven.plugins maven-checkstyle-plugin ---- <1> Interrompe a compilação quando há erros do Checkstyle <2> Interrompe a compilação quando há violações do Checkstyle <3> O Checkstyle também analisa as fontes de teste <4> Adicione o plugin Spring Java Format, que reformatará seu código para passar na maioria das regras de formatação do Checkstyle <5> Adicione o plugin do checkstyle às fases de build e relatórios ---- org.basepom.maven duplicate-finder-maven-plugin ---- org.basepom.maven duplicate-finder-maven-plugin org.joda.time.base.BaseDateTime .*module-info changelog.txt
  • Orientado por API ou configuração
  • Suporta o DiscoveryClient do Spring Cloud para configurar rotas
  • == Compilação

    :jdkversion: 1.8

    === Compilação e Testes Básicos

    Para compilar o código-fonte, você precisará instalar o JDK {jdkversion}.

    O Spring Cloud usa Maven para a maioria das atividades relacionadas à compilação, e você deve conseguir começar rapidamente clonando o projeto de seu interesse e digitando


    $ ./mvnw install

    NOTE: Você também pode instalar o Maven (>=3.3.3) por conta própria e executar o comando mvn no lugar de ./mvnw nos exemplos abaixo. Se fizer isso, talvez seja necessário adicionar -P spring se as configurações locais do Maven não contiverem declarações de repositório para artefatos de pré-lançamento do Spring.

    NOTE: Esteja ciente de que talvez seja necessário aumentar a quantidade de memória disponível para o Maven definindo a variável de ambiente MAVEN_OPTS com um valor como -Xmx512m -XX:MaxPermSize=128m. Tentamos cobrir isso na configuração .mvn, então se você precisar fazer isso para que uma compilação seja bem-sucedida, por favor abra um ticket para que as configurações sejam adicionadas ao controle de versão.

    Os projetos que exigem middleware (ex.: Redis) para testes geralmente exigem que uma instância local do Docker esteja instalada e em execução.

    === Documentação

    O módulo spring-cloud-build tem um perfil "docs" e, se você o ativar, ele tentará compilar as fontes AsciiDoc de src/main/asciidoc. Como parte desse processo, ele procurará um README.adoc e o processará carregando todos os includes, mas sem analisá-lo ou renderizá-lo, apenas copiando-o para ${main.basedir} (que, por padrão, é ${basedir}, ou seja, a raiz do projeto). Se houver alterações no README, elas aparecerão após uma compilação Maven como um arquivo modificado no lugar correto. Basta fazer o commit e enviar a alteração.

    === Trabalhando com o código Se você não tiver preferência de IDE, recomendamos usar https://www.springsource.com/developer/sts[Spring Tools Suite] ou https://eclipse.org[Eclipse] ao trabalhar com o código. Usamos o plugin https://eclipse.org/m2e/[m2eclipse] do Eclipse para suporte ao Maven. Outras IDEs e ferramentas também devem funcionar sem problemas, desde que usem Maven 3.3.3 ou superior.

    ==== Ative o perfil Maven do Spring Os projetos Spring Cloud exigem que o perfil Maven 'spring' seja ativado para resolver os repositórios de milestone e snapshot do Spring. Use sua IDE preferida para ativar esse perfil, caso contrário você poderá enfrentar erros de compilação.

    ==== Importando para o Eclipse com m2eclipse Recomendamos o plugin https://eclipse.org/m2e/[m2eclipse] do Eclipse ao trabalhar com o Eclipse. Se você ainda não tiver o m2eclipse instalado, ele está disponível no "Eclipse Marketplace".

    NOTE: Versões mais antigas do m2e não suportam Maven 3.3, portanto, depois que os projetos forem importados para o Eclipse, você também precisará informar ao m2eclipse para usar o perfil correto para os projetos. Se você vir muitos erros diferentes relacionados aos POMs nos projetos, verifique se a instalação está atualizada. Se não for possível atualizar o m2e, adicione o perfil "spring" ao seu settings.xml. Alternativamente, você pode copiar as configurações de repositório do perfil "spring" do pom pai para o seu settings.xml.

    ==== Importando para o Eclipse sem m2eclipse Se você preferir não usar o m2eclipse, pode gerar os metadados do projeto Eclipse usando o seguinte comando:

    [indent=0]

    root@kitploit:~
    $ ./mvnw eclipse:eclipse
    

    Os projetos Eclipse gerados podem ser importados selecionando import existing projects no menu file.

    == Contribuindo

    :spring-cloud-build-branch: master

    O Spring Cloud é distribuído sob a licença Apache 2.0, não restritiva, e segue um processo de desenvolvimento no Github bastante padrão, usando o rastreador do Github para issues e mesclando pull requests no master. Se você quiser contribuir até mesmo com algo trivial, não hesite, mas siga as diretrizes abaixo.

    === Assine o Contrato de Licença de Contribuidor Antes de aceitarmos um patch ou pull request não trivial, precisaremos que você assine o https://cla.pivotal.io/sign/spring[Contrato de Licença de Contribuidor]. Assinar o contrato do contribuidor não concede a ninguém direitos de commit no repositório principal, mas significa que podemos aceitar suas contribuições, e você receberá crédito de autor se o fizermos. Contribuidores ativos podem ser convidados a se juntar à equipe principal e receber a capacidade de mesclar pull requests.

    === Código de Conduta Este projeto segue o https://github.com/spring-cloud/spring-cloud-build/blob/master/docs/src/main/asciidoc/code-of-conduct.adoc[código de conduta] do Contributor Covenant. Ao participar, espera-se que você cumpra este código. Por favor, relate comportamentos inaceitáveis para [email protected].

    === Convenções de Código e Organização Nenhum desses itens é essencial para um pull request, mas todos ajudam. Eles também podem ser adicionados após o pull request original, mas antes de uma mesclagem.

    • Use as convenções de formato de código do Spring Framework. Se você usa Eclipse, pode importar as configurações de formatação usando o arquivo eclipse-code-formatter.xml do projeto https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/master/spring-cloud-dependencies-parent/eclipse-code-formatter.xml[Spring Cloud Build]. Se usar IntelliJ, você pode usar o https://plugins.jetbrains.com/plugin/6546[Plugin Eclipse Code Formatter] para importar o mesmo arquivo.
    • Certifique-se de que todos os novos arquivos .java tenham um comentário de classe Javadoc simples com pelo menos uma tag @author identificando você e, de preferência, pelo menos um parágrafo sobre para que serve a classe.
    • Adicione o cabeçalho de licença ASF a todos os novos arquivos .java (copie dos arquivos existentes no projeto)
    • Adicione-se como @author nos arquivos .java que você modificar substancialmente (mais do que alterações cosméticas).
    • Adicione alguns Javadocs e, se você alterar o namespace, alguns elementos de documentação XSD.
    • Alguns testes de unidade também ajudariam bastante — alguém precisa fazê-lo.
    • Se ninguém mais estiver usando seu branch, faça rebase dele com o master atual (ou outro branch de destino no projeto principal).
    • Ao escrever uma mensagem de commit, siga https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html[estas convenções]; se você estiver corrigindo um problema existente, adicione Fixes gh-XXXX no final da mensagem de commit (onde XXXX é o número da issue).

    === Checkstyle

    O Spring Cloud Build vem com um conjunto de regras de checkstyle. Você pode encontrá-las no módulo spring-cloud-build-tools. Os arquivos mais notáveis do módulo são:

    .spring-cloud-build-tools/

    └── src    ├── checkstyle    │   └── checkstyle-suppressions.xml <3>    └── main    └── resources    ├── checkstyle-header.txt <2>    └── checkstyle.xml <1>

    <1> Regras padrão do Checkstyle <2> Configuração do cabeçalho de arquivo <3> Regras de supressão padrão

    ==== Configuração do Checkstyle

    As regras do Checkstyle estão desabilitadas por padrão. Para adicionar checkstyle ao seu projeto, basta definir as seguintes propriedades e plugins.

    .pom.xml

    root@kitploit:~
    <reporting>
        <plugins>
            <plugin> <5>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-checkstyle-plugin</artifactId>
            </plugin>
        </plugins>
    </reporting>
    

    Se você precisar suprimir algumas regras (ex.: o comprimento da linha precisa ser maior), basta definir um arquivo em ${project.root}/src/checkstyle/checkstyle-suppressions.xml com suas supressões. Exemplo:

    .projectRoot/src/checkstyle/checkstyle-suppresions.xml

    É aconselhável copiar o ${spring-cloud-build.rootFolder}/.editorconfig e o ${spring-cloud-build.rootFolder}/.springformat para o seu projeto. Dessa forma, algumas regras de formatação padrão serão aplicadas. Você pode fazer isso executando este script:

    root@kitploit:~
    $ curl https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/master/.editorconfig -o .editorconfig
    $ touch .springformat
    

    === Configuração da IDE

    ==== Intellij IDEA

    Para configurar o Intellij, você deve importar nossas convenções de codificação, perfis de inspeção e configurar o plugin do checkstyle. Os seguintes arquivos podem ser encontrados no projeto https://github.com/spring-cloud/spring-cloud-build/tree/master/spring-cloud-build-tools[Spring Cloud Build].

    .spring-cloud-build-tools/

    └── src    ├── checkstyle    │   └── checkstyle-suppressions.xml <3>    └── main    └── resources    ├── checkstyle-header.txt <2>    ├── checkstyle.xml <1>    └── intellij       ├── Intellij_Project_Defaults.xml <4>       └── Intellij_Spring_Boot_Java_Conventions.xml <5>

    <1> Regras padrão do Checkstyle <2> Configuração do cabeçalho de arquivo <3> Regras de supressão padrão <4> Padrões de projeto para Intellij que aplicam a maioria das regras do Checkstyle <5> Convenções de estilo de projeto para Intellij que aplicam a maioria das regras do Checkstyle

    .Estilo de código

    image::https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/{spring-cloud-build-branch}/docs/src/main/asciidoc/images/intellij-code-style.png[Code style]

    Vá para File -> Settings -> Editor -> Code style. Lá, clique no ícone ao lado da seção Scheme. Em seguida, clique no valor Import Scheme e escolha a opção Intellij IDEA code style XML. Importe o arquivo spring-cloud-build-tools/src/main/resources/intellij/Intellij_Spring_Boot_Java_Conventions.xml.

    .Perfis de inspeção

    image::https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/{spring-cloud-build-branch}/docs/src/main/asciidoc/images/intellij-inspections.png[Code style]

    Vá para File -> Settings -> Editor -> Inspections. Lá, clique no ícone ao lado da seção Profile. Em seguida, clique em Import Profile e importe o arquivo spring-cloud-build-tools/src/main/resources/intellij/Intellij_Project_Defaults.xml.

    .Checkstyle

    Para fazer o Intellij funcionar com o Checkstyle, você precisa instalar o plugin Checkstyle. É aconselhável também instalar o Assertions2Assertj para converter automaticamente as asserções JUnit

    image::https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/{spring-cloud-build-branch}/docs/src/main/asciidoc/images/intellij-checkstyle.png[Checkstyle]

    Vá para File -> Settings -> Other settings -> Checkstyle. Lá, clique no ícone + na seção Configuration file. Em seguida, você precisará definir de onde as regras do checkstyle devem ser obtidas. Na imagem acima, selecionamos as regras do repositório clonado do Spring Cloud Build. No entanto, você pode apontar para o repositório GitHub do Spring Cloud Build (ex.: para o checkstyle.xml: https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/master/spring-cloud-build-tools/src/main/resources/checkstyle.xml). Precisamos fornecer as seguintes variáveis:

    • checkstyle.header.file - aponte para o arquivo spring-cloud-build-tools/src/main/resources/checkstyle-header.txt do Spring Cloud Build, seja no seu repositório clonado ou via URL https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/master/spring-cloud-build-tools/src/main/resources/checkstyle-header.txt.
    • checkstyle.suppressions.file - supressões padrão. Aponte para o arquivo spring-cloud-build-tools/src/checkstyle/checkstyle-suppressions.xml do Spring Cloud Build, seja no seu repositório clonado ou via URL https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/master/spring-cloud-build-tools/src/checkstyle/checkstyle-suppressions.xml.
    • checkstyle.additional.suppressions.file - esta variável corresponde às supressões no seu projeto local. Ex.: se você está trabalhando no spring-cloud-contract, aponte para a pasta project-root/src/checkstyle/checkstyle-suppressions.xml. Um exemplo para spring-cloud-contract seria: /home/username/spring-cloud-contract/src/checkstyle/checkstyle-suppressions.xml.

    IMPORTANT: Lembre-se de definir o Scan Scope para All sources, pois aplicamos as regras do checkstyle para fontes de produção e teste.

    === Duplicate Finder

    O Spring Cloud Build traz o basepom:duplicate-finder-maven-plugin, que permite sinalizar classes e recursos duplicados e conflitantes no classpath do Java.

    ==== Configuração do Duplicate Finder

    O Duplicate finder está habilitado por padrão e será executado na fase verify da sua compilação Maven, mas só terá efeito no seu projeto se você adicionar o duplicate-finder-maven-plugin à seção build do pom.xml do projeto.

    .pom.xml [source,xml]

    Para outras propriedades, definimos padrões conforme listado na https://github.com/basepom/duplicate-finder-maven-plugin/wiki[documentação do plugin].

    Você pode sobrescrevê-los facilmente definindo o valor da propriedade selecionada com o prefixo duplicate-finder-maven-plugin. Por exemplo, defina duplicate-finder-maven-plugin.skip como true para pular a verificação de duplicatas na sua compilação.

    Se você precisar adicionar ignoredClassPatterns ou ignoredResourcePatterns à sua configuração, certifique-se de adicioná-los na seção de configuração do plugin do seu projeto:

    [source,xml]

    Baixar ferramenta