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
analyze-Exploit-CVE-2023-22518-Confluence — Análise do exploit CVE-2023-22518 para Atlassian Confluence Server abordando configuração, diffing de JARs, causa raiz e restauração não autorizada para recuperar o acesso de administrador. | Kitploit
Ferramentas/GitHubGitHub/d3ckkno0b/analyze-exploit-cve-2023-22518-confluence
Análise de VulnerabilidadesAnálise de CódigoExploraçãoEngenharia ReversaExploração de Aplicações WebDepuradoresAprendizado e Educação
GitHubd3ckkno0b/analyze-exploit-cve-2023-22518-confluence

analyze-Exploit-CVE-2023-22518-Confluence

Análise do exploit CVE-2023-22518 para Atlassian Confluence Server abordando configuração, diffing de JARs, causa raiz e restauração não autorizada para recuperar o acesso de administrador.

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

Exploit-CVE-2023-22518 CVE-2023-22518 no Confluence

CVE-2023-22518: Esta vulnerabilidade é descrita como “vulnerabilidade de autorização inadequada no banco de dados e nos servidores do Confluence”. O erro afeta as versões On-premises dos produtos Atlassian.

SETUP

Configure o ambiente usando a versão vulnerável 8.0.4. URL de Download: https://product-downloads.atlassian.com/software/confluence/downloads/atlassian-confluence-8.0.4-x64.exe

image

Escolha Trial Installation, depois clique no link para obter a free trial key. Em seguida, configure o cluster: escolha non-cluster image

Em seguida, vá para a configuração do banco de dados -> Escolha MySQL image

Siga as instruções:

Baixe o driver MySQL Coloque o arquivo .jar em /home/lily/atlassian/confluence/confluence/WEB-INF/lib Reinicie o Confluence e continue o processo de configuração. image Configure o banco de dados, crie o usuário e a tabela de senha

root@kitploit:~
CREATE DATABASE securedb CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
CREATE USER 'admin123'@'localhost' IDENTIFIED BY 'supersecure';
GRANT ALL PRIVILEGES ON securedb.* TO 'admin123'@'localhost';
GRANT SUPER ON *.* TO 'your_username'@'your_host';
FLUSH PRIVILEGES;

Em seguida, edit /etc/mysql/my.cnf . Adicione as seguintes linhas:

root@kitploit:~
transaction-isolation = READ-COMMITTED
log_bin_trust_function_creators = 1

image

Em seguida, reinicie o MySQL e o Confluence. Depois, acesse a página de configuração em localhost:8090 e use o banco de dados criado para preencher

image

Verifique se a conexão foi bem-sucedida, clique em Next. Depois, cadastre-se.

image

DEBUG

** Faça o diff dos arquivos jar das duas versões no IntelliJ **

  • Especificamente, aqui eu faço o diff das versões 8.0.4 e 7.19.16. De acordo com a descrição, faça o diff do arquivo confluence.jar das duas versões

image

  • A diferença entre a versão corrigida e a não corrigida é @WebSudoRequired e @SystemAdminOnly. WebSudoRequired é um recurso para melhorar a segurança das sessões de administrador. Ao tentar acessar o admin, o sistema solicitará a senha novamente, mesmo que você já tenha feito login no sistema. Isso adiciona uma etapa extra de autenticação para garantir o acesso administrativo

SystemAdminOnly: é um recurso que limita as funções administrativas apenas a contas de administrador. Isso ajuda a garantir que somente contas autorizadas possam realizar operações importantes e que afetam o sistema.

Coloque um breakpoint em validate() em RestoreAction.class

image

A função que salva o arquivo enviado usa getRestoreFileFromUpload

image

GetExportDescriptor é usado para descompactar e ler o conteúdo do arquivo zip

image

image

Porém, após depurar, ainda não foi possível encontrar a causa raiz da vulnerabilidade

A causa descrita no CVE é uma vulnerabilidade de autorização. Isso nos leva a direcionar a atenção para pesquisas sobre vulnerabilidades da linguagem Java durante o processo de atribuição de permissões pelos desenvolvedores

Redirecione a atenção para o arquivo struts.xml. Este arquivo contém informações sobre ações e roteamento baseado em namespaces, bem como os interceptadores (interceptors).

image

image

image

Vemos que o namespace /json estende a funcionalidade do namespace /admin. Portanto, as rotas criadas para o namespace /admin também podem ser acessadas por meio do namespace /json.

No contexto do namespace /json, o processo de roteamento de requisições envolve passar por uma cadeia de interceptadores (interceptors). Um desses interceptadores, chamado WebSudoInterceptor, realiza verificações com base na URI da requisição.

Especificamente, o WebSudoInterceptor executa as seguintes verificações:

Se o caminho da requisição for /authenticate.action, ele será ignorado. Se o caminho da requisição for /admin, ele verifica se a propriedade WebSudoNotRequired está vazia.

Se uma requisição for enviada para '/json', então a requisição para '/json/action' será encaminhada para '/setup/action' e 'admin/action'. Neste CVE, o caminho vulnerável é '/json/setup-restore.action?synchronous=true'

Capture a requisição no Burp Suite, GET /json/setup-restore.action . No entanto, recebemos uma resposta "Method Not Allowed". Tente com POST /json/setup-restore.action?synchronous=true e receba a resposta 200

image

image

Carregue o arquivo xmlexport-200123123001.zip

image

Envie e receba a resposta

image

Agora podemos fazer login com account admin :admin

image

E obtemos o seguinte resultado

image

Baixar ferramenta