Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2020-25867 | Kitploit
Herramientas/GitHubGitHub/thomasfady/cve-2020-25867
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónAprendizaje y Educación
GitHubthomasfady/cve-2020-25867

CVE-2020-25867

Ver Repositorio
hace 4 añosAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2020-25867 : Omisión de la clave de uso compartido de SoPlanning

Información

  • Versión vulnerable : 1.46.01
  • Versión corregida : 1.47 y superiores
  • CVE : CVE-2020-25867

Cronología

  • 26/06/2020 : Este informe de vulnerabilidad fue enviado al proveedor
  • 21/07/2020 : La vulnerabilidad fue corregida

Riesgos

El sistema de clave de uso compartido es vulnerable al ataque de PHP Type Juggling, lo que permite a un atacante acceder al contenido del calendario sin conocer la clave de uso compartido.

Requisitos

Para ser vulnerable, la clave de uso compartido del calendario debe estar habilitada.

EnableSharingKey

Una vez que este uso compartido está habilitado, un usuario puede acceder al calendario sin autenticación mediante la clave de uso compartido.

NormalBehavior

Por supuesto, si la clave es incorrecta, se deniega el acceso.

Explotación

La validación de la clave se encuentra en el archivo "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 función strcmp se utiliza con una comparación no estricta. El resultado de esta comparación depende de lo siguiente: Tablas de comparación de tipos de PHP

El resultado de la función strcmp se describe en la documentación: [strcmp]'https://www.php.net/manual/en/function.strcmp.php)

Devuelve < 0 si str1 es menor que str2; > 0 si str1 es mayor que str2, y 0 si son iguales.

Esta función devuelve "NULL" si uno de los parámetros es un array.

Según las Tablas de comparación de tipos de PHP, la comparación no estricta entre "NULL" y 0 es true.

Por lo tanto, si $_GET['cle'] es un array, el resultado de la condición es true y el acceso está autorizado.

Este enlace define $_GET['cle'] como un array: https://demo.soplanning.org/planning.php?public=1&cle[]=

Exploit

El acceso se concede como "Invitado"

Corrección

Para corregir esta vulnerabilidad, se puede utilizar una comparación estricta:

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';
  }
}

O la comparación se puede realizar sin la función 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';
  }
}
Descargar herramienta