Skip to content
KitploitKITPLOIT
FerramentasBlog
Log in
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-2019-3396 — Injeção de template não autorizada no Confluence | Kitploit
Ferramentas/GitHubGitHub/petrusviet/cve-2019-3396
Análise de VulnerabilidadesAnálise de CódigoExploraçãoExploração de Aplicações WebTestes de PenetraçãoAprendizado e Educação
GitHubpetrusviet/cve-2019-3396

cve-2019-3396

Injeção de template não autorizada no Confluence

Ver Repositório
212há 5 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

Injeção de template não autorizada no Confluence (CVE-2019-3396)

I) Construção

  • Este bug ocorre nas versões:
    • Todas as versões 1.x.x, 2.x.x, 3.x.x, 4.x.x e 5.x.x
    • Todas as versões 6.0.x, 6.1.x, 6.2.x, 6.3.x, 6.4.x e 6.5.x
    • Todas as versões 6.6.x anteriores a 6.6.12
    • Todas as versões 6.7.x, 6.8.x, 6.9.x, 6.10.x e 6.11.x
    • Todas as versões 6.12.x anteriores a 6.12.3
    • Todas as versões 6.13.x anteriores a 6.13.3
    • Todas as versões 6.14.x anteriores a 6.14.2
  • Após baixar o código-fonte, você precisa:
    • Modificar o valor de confluence.home para o endereço do home do Confluence no arquivo ./confluence/WEB-INF/classes/confluence-init.properties
    • Adicionar o valor CATALINA_OPTS para que o programa possa ser executado em modo debug remoto

No Windows, arquivo ./bin/setenv.bat

set CATALINA_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005

no Linux, arquivo ./bin/setenv.sh

CATALINA_OPTS="-Xrunjdwp:transport=dt_socket,suspend=n,server=y,address=5005 ${CATALINA_OPTS}"  
  • Na IDE (Intellij) crie uma configuração de Debug: Remote JVM Debug com host e port como localhost:5005 e Command line arguments for remote JVM
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005
  • Podemos usar Postgresql como banco de dados:
$ su - postgres
postgres@ubuntu:~$ psql -U postgres
postgres@ubuntu:~$ psql -U postgres
psql (10.6 (Ubuntu 10.6-0ubuntu0.18.04.1))
Type "help" for help.
 
postgres=# CREATE USER wiki WITH PASSWORD 'wiki';
CREATE ROLE
postgres=# CREATE DATABASE wiki OWNER wiki;
CREATE DATABASE
postgres=# GRANT ALL PRIVILEGES ON DATABASE jira TO wiki;
GRANT
  • Precisamos adicionar os JARs: ./confluence/WEB-INF/atlassian-bundled-plugins/widgetconnector-x.x.x.jar, ./confluence/WEB-INF/lib/confluence-x.x.x.jar, ./confluence/WEB-INF/lib/velocity-x.x.x-atlassian-x.jar à biblioteca para que ao depurar possamos ver o código-fonte necessário.

  • Execute o arquivo ./bin/start-confluence.bat e você pode consultar este guia para instalar a partir do código-fonte.

II) Análise

  • Após ler a Descrição, sabemos que esse bug começa no recurso Widget Connector, então pesquisei no Google imediatamente para saber o que é esse recurso e como usá-lo:

    2 editar uma página

    3
    Escolher Outros macros

    4 Escolher Widget connector

    image

  • Escolho alguns parâmetros aleatoriamente e clico em preview, depois mudo para o burp para ver se há algo interessante. image

  • Nesse pacote, vejo um parâmetro "pluginKey":"com.atlassian.confluence.extra.widgetconnector", então suponho que o recurso Widget Connector é definido na classe com.atlassian.confluence.extra.widgetconnector, então procurei no path se havia algum JAR suspeito.

image

  • Tento adicionar o arquivo ./confluence/WEB-INF/atlassian-bundled-plugins/widgetconnector-x.x.x.jar à biblioteca do projeto para poder ler o código-fonte e depurar.

    1
    Como adicionar arquivo JAR à biblioteca

  • Abrindo o pacote widgetconnector, sinto simpatia pela classe WidgetMacro, então coloco um breakpoint no construtor e no método execute dessa classe para ver se quando uso o recurso Preview essa classe é chamada 🕵️

    • image
    • O método execute foi chamado, depois o programa chama DefaultRenderManager.getEmbeddedHtml
    • image
Baixar ferramenta