Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2020-25867 — Preuve de concept d'exploit pour CVE-2020-25867 démontrant le contournement de l'authentification par clé de partage de calendrier de SoPlanning via le PHP type juggling. | Kitploit
Outils/GitHubGitHub/thomasfady/cve-2020-25867
Analyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionApprentissage et Éducation
GitHubthomasfady/cve-2020-25867

CVE-2020-25867

Preuve de concept d'exploit pour CVE-2020-25867 démontrant le contournement de l'authentification par clé de partage de calendrier de SoPlanning via le PHP type juggling.

Voir le dépôt
1il y a 4 ansPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2020-25867 : Contournement de la clé de partage SoPlanning

Informations

  • Version vulnérable : 1.46.01
  • Version corrigée : 1.47 et supérieures
  • CVE : CVE-2020-25867

Chronologie

  • 26/06/2020 : Ce rapport de vulnérabilité a été envoyé au fournisseur
  • 21/07/2020 : La vulnérabilité est corrigée

Risques

Le système de clé de partage est vulnérable à une attaque de type PHP Type Juggling, qui permet à un attaquant d'accéder au contenu du calendrier sans connaître la clé de partage.

Prérequis

Pour être vulnérable, la clé de partage du calendrier doit être activée.

EnableSharingKey

Une fois ce partage activé, un utilisateur peut accéder au calendrier sans authentification en utilisant la clé de partage.

NormalBehavior

Bien sûr, si la clé est fausse, l'accès est refusé.

Exploitation

La validation de la clé se trouve dans le fichier "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';
  }
}

La fonction strcmp est utilisée avec une comparaison non stricte. Le résultat de cette comparaison dépend de ce qui suit : Tableaux de comparaison de types PHP

Le résultat de la fonction strcmp est décrit dans la documentation : [strcmp]'https://www.php.net/manual/en/function.strcmp.php)

Retourne < 0 si str1 est inférieur à str2 ; > 0 si str1 est supérieur à str2, et 0 s'ils sont égaux.

Cette fonction retourne "NULL" si l'un des paramètres est un tableau.

D'après les Tableaux de comparaison de types PHP, la comparaison non stricte entre "NULL" et 0 est true

Ainsi, si $_GET['cle'] est un tableau, le résultat de la condition est true et l'accès est autorisé.

Ce lien définira $_GET['cle'] comme un tableau : https://demo.soplanning.org/planning.php?public=1&cle[]=

Exploit

L'accès est accordé en tant que "Invité"

Correctif

Pour corriger cette vulnérabilité, une comparaison stricte peut être utilisée :

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 la comparaison peut être effectuée sans la fonction 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';
  }
}
Télécharger l’outil