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-2020-25867 — Exploit de prova de conceito para CVE-2020-25867 demonstrando bypass de type juggling do PHP da autenticação da chave de compartilhamento do calendário SoPlanning. | Kitploit
Ferramentas/GitHubGitHub/thomasfady/cve-2020-25867
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoAprendizado e Educação
GitHubthomasfady/cve-2020-25867

CVE-2020-25867

Exploit de prova de conceito para CVE-2020-25867 demonstrando bypass de type juggling do PHP da autenticação da chave de compartilhamento do calendário SoPlanning.

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

CVE-2020-25867 : Bypass da Chave de Compartilhamento do SoPlanning

Informação

  • Versão Vulnerável: 1.46.01
  • Versão Corrigida: 1.47 e superior
  • CVE : CVE-2020-25867

Cronologia

  • 26/06/2020 : Este relatório de vulnerabilidade foi enviado ao fornecedor
  • 21/07/2020 : A vulnerabilidade foi corrigida

Riscos

O sistema de chave de compartilhamento é vulnerável a um ataque de Type Juggling do PHP, que permite a um invasor acessar o conteúdo do calendário sem conhecer a chave de compartilhamento.

Requisitos

Para ser vulnerável, a chave de compartilhamento do calendário deve estar ativada.

EnableSharingKey

Uma vez que esse compartilhamento está ativado, um usuário pode acessar o calendário sem autenticação usando a chave de compartilhamento.

NormalBehavior

Claro, se a chave estiver errada, o acesso é negado.

Exploração

A validação da chave está no arquivo "includes/header.inc"

root@kitploit:~
if ( CONFIG_SOPLANNING_OPTION_ACCES == 2 && isset($_GET['public']) && isset($_GET['cle']))
{
  if (strcmp($_GET['cle'],CONFIG_SECURE_KEY)==0)
  {
    $_SESSION['public']=1;
    $_SESSION['user_id']='publicspl';
  }
}

A função strcmp é usada com uma comparação não estrita. O resultado dessa comparação depende do seguinte: Tabelas de comparação de tipos do PHP

O resultado da função strcmp é descrito na documentação: strcmp

Retorna < 0 se str1 for menor que str2; > 0 se str1 for maior que str2, e 0 se forem iguais.

Esta função retorna "NULL" se um dos parâmetros for um array.

Seguindo as Tabelas de comparação de tipos do PHP, a comparação não estrita entre "NULL" e 0 é true

Assim, se $_GET['cle'] for um array, o resultado da condição é true e o acesso é autorizado.

Este link definirá $_GET['cle'] como um array: https://demo.soplanning.org/planning.php?public=1&cle[]=

Exploit

O acesso é concedido como "Invité"

Correção

Para corrigir esta vulnerabilidade, pode ser usada uma comparação estrita:

root@kitploit:~
if ( CONFIG_SOPLANNING_OPTION_ACCES == 2 && isset($_GET['public']) && isset($_GET['cle']))
{
  if (strcmp($_GET['cle'],CONFIG_SECURE_KEY)===0)
  {
    $_SESSION['public']=1;
    $_SESSION['user_id']='publicspl';
  }
}

Ou a comparação pode ser feita sem a função strcmp.

root@kitploit:~
if ( CONFIG_SOPLANNING_OPTION_ACCES == 2 && isset($_GET['public']) && isset($_GET['cle']))
{
  if ($_GET['cle'] === CONFIG_SECURE_KEY)
  {
    $_SESSION['public']=1;
    $_SESSION['user_id']='publicspl';
  }
}
Baixar ferramenta