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-2023-22515 — Passo a passo de exploração para CVE-2023-22515, uma vulnerabilidade crítica de controle de acesso quebrado no Atlassian Confluence Server and Data Center, permitindo a criação remota de conta de administrador. | Kitploit
Ferramentas/GitHubGitHub/tranphuc2005/cve-2023-22515
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoAprendizado e Educação
GitHubtranphuc2005/cve-2023-22515

CVE-2023-22515

Passo a passo de exploração para CVE-2023-22515, uma vulnerabilidade crítica de controle de acesso quebrado no Atlassian Confluence Server and Data Center, permitindo a criação remota de conta de administrador.

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

CVE-2023-22515

Informações principais sobre CVE-2023-22515

  • Produto afetado: Atlassian Confluence Data Center & Confluence Server.

  • Data de divulgação: 04/10/2023.

  • Gravidade: Crítica (CVSS ~ 10.0).

  • Tipo de vulnerabilidade: Controle de Acesso Quebrado / Autorização Impropria → permite que um invasor crie uma conta de administrador remotamente.

  • O erro está no mecanismo de configuração do Confluence

  • Impacto: Confluence Data Center & Server 8.0.0 → 8.5.1.

Exploração da vulnerabilidade

  • Primeiramente, ao instalar o Confluence, existe uma etapa de configuração para o servidor funcionar, como conexão com o banco de dados, criação de usuário, etc. Essas tarefas são realizadas através do navegador WEB e pelos caminhos de URL /setup/. O último passo da configuração é /setup/setupadministrator.action.
  • Após a conclusão, essas configurações não podem mais ser chamadas. Se tentarmos chamá-las, será exibida uma mensagem de erro.

1

  • Isso se origina de um dos interceptadores, o SetupCheckInterceptor, no .

struts.xml
  • struts.xml é o arquivo de configuração central do Struts.

  • Ele define como o Confluence mapeia URL → Classe Action → Template de View.

  • Também declara interceptadores (classes que interceptam o processamento da requisição antes/depois de executar a action).

1

No SetupCheckInterceptor é chamado BootstrapUtils.getBootstrapManager().isSetupComplete()

root@kitploit:~
public String intercept(ActionInvocation actionInvocation) throws Exception {
    if (BootstrapUtils.getBootstrapManager().isSetupComplete() && ContainerManager.isContainerSetup())
        return "alreadysetup"; 
    return actionInvocation.invoke();
}

Explicação

  • BootstrapUtils.getBootstrapManager().isSetupComplete()
    → Verifica se o Confluence concluiu o processo de configuração (via wizard, inserção de licença, criação de usuário admin).

  • ContainerManager.isContainerSetup()
    → Verifica se o container Spring IoC foi completamente inicializado.

  • Se ambas as condições forem verdadeiras:
    → Significa que o sistema já foi configurado completamente → o interceptador retorna "alreadysetup" imediatamente.
    → Impede a execução da action (geralmente actions de configuração como SetupDatabaseAction, SetupLicenseAction, …).

  • Se ainda não estiver totalmente configurado:
    → Chama actionInvocation.invoke() → ou seja, continua a execução da action solicitada pelo usuário.

getBootstrapManager() → geralmente retorna DefaultAtlassianBootstrapManager é o gerenciador de todas as informações de configuração essenciais durante o setup.

  • Em DefaultAtlassianBootstrapManager.isSetupComplete, podemos ver que o método de configuração da aplicação isSetupComplete é chamado para verificar se a configuração foi concluída.

1

=> Se fizermos isSetupComplete = False, então o SetupCheckInterceptor não retornará “alreadysetup” e /setup/setupadministrator.action poderá ser acessado.

Abaixo temos um ServerInfoAction

  • ServerInfoAction = Action pública no Confluence → permite que qualquer usuário a chame sem necessidade de login, sem token CSRF. Quando executada, ela retorna apenas "success" → mapeia para um template que exibe informações do servidor.

1

  • Ela herda de ConfluenceActionSupport.
  • Em ConfluenceActionSupport, encontramos getBootstrapStatusProvider retornando BootstrapStatusProviderImpl, a instância que estamos procurando.

1

  • Em BootstrapStatusProviderImpl existe getApplicationConfig para retornar a configuração da aplicação.

1

  • Finalmente, ao entrar em ApplicationConfig, podemos ver que ele implementa a verificação setSetupComplete.

1

  • Combinando as partes acima, podemos deduzir uma cadeia de métodos para alterar setSetupComplete = false.
root@kitploit:~
getBootstrapStatusProvider(). getApplicationConfig (). setSetupComplete ( false );
  • O XWorks2 nos permite executar essa cadeia de getters/setters. Podemos construir um parâmetro HTTP para implementar essa cadeia de chamadas de método usando a notação exigida pelo XWorks2.
root@kitploit:~
bootstrapStatusProvider.applicationConfig.setupComplete=false
  • Vamos aproveitar /server-info.action, que é uma URL no Confluence, processada por ServerInfoAction, sendo um endpoint público que não requer autenticação.
root@kitploit:~
/server-info.action?bootstrapStatusProvider.applicationConfig.setupComplete=false

1

Vamos verificar o Debug:

  • setupComplete (parâmetro passado ao método)
    → false
    Ou seja, o método está sendo chamado com o parâmetro false.

  • this.setupComplete (variável de instância do objeto ApplicationConfig)
    → true (antes da atribuição).

  • Quando o comando termina → this.setupComplete se torna false.

1

  • Após concluir a etapa acima, vamos tentar acessar novamente o endpoint /setup/setupadministrator.action e obter sucesso.

1

  • Após criar, faça login e verifique as permissões.

1

Baixar ferramenta