Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2020-25867 — استغلال إثبات المفهوم لـ CVE-2020-25867 يوضح تجاوز تخفيف نوع PHP لمصادقة مفتاح مشاركة تقويم SoPlanning. | Kitploit
أدوات/GitHubGitHub/thomasfady/cve-2020-25867
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالتعلم والتعليم
GitHubthomasfady/cve-2020-25867

CVE-2020-25867

استغلال إثبات المفهوم لـ CVE-2020-25867 يوضح تجاوز تخفيف نوع PHP لمصادقة مفتاح مشاركة تقويم SoPlanning.

عرض المستودع
1منذ 4 سنواتلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

CVE-2020-25867 : تجاوز مفتاح المشاركة في SoPlanning

معلومات

  • الإصدار المتأثر : 1.46.01
  • الإصدار المُصحَّح : 1.47 وما فوق
  • CVE : CVE-2020-25867

الجدول الزمني

  • 26/06/2020 : تم إرسال تقرير هذه الثغرة إلى البائع
  • 21/07/2020 : تم إصلاح الثغرة

المخاطر

نظام مفتاح المشاركة معرّض لهجوم PHP Type Juggling، مما يسمح للمهاجم بالوصول إلى محتوى التقويم دون معرفة مفتاح المشاركة.

المتطلبات

لكي تكون الثغرة قابلة للاستغلال، يجب تفعيل مفتاح مشاركة التقويم.

EnableSharingKey

بمجرد تفعيل هذه المشاركة، يمكن للمستخدم الوصول إلى التقويم دون مصادقة باستخدام مفتاح المشاركة.

NormalBehavior

بالطبع، إذا كان المفتاح غير صحيح، يتم رفض الوصول.

الاستغلال

يقع التحقق من المفتاح في الملف ""

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

تُستخدم دالة strcmp مع مقارنة غير صارمة. تعتمد نتيجة هذه المقارنة على ما يلي: جداول مقارنة أنواع PHP

نتيجة دالة strcmp موصوفة في الوثائق: [strcmp]'https://www.php.net/manual/en/function.strcmp.php)

تُرجع < 0 إذا كان str1 أصغر من str2؛ و> 0 إذا كان str1 أكبر من str2، و0 إذا كانا متساويين.

تُرجع هذه الدالة "NULL" إذا كانت إحدى المعاملات مصفوفة.

وفقًا لـجداول مقارنة أنواع PHP، تكون المقارنة غير الصارمة بين "NULL" و0 true

وبالتالي، إذا كانت $_GET['cle'] مصفوفة، تكون نتيجة الشرط true ويتم السماح بالوصول.

يُعرّف هذا الرابط $_GET['cle'] كمصفوفة: https://demo.soplanning.org/planning.php?public=1&cle[]=

Exploit

يتم منح الوصول بصفة "Invité"

الإصلاح

لإصلاح هذه الثغرة، يمكن استخدام مقارنة صارمة:

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

أو يمكن إجراء المقارنة دون استخدام دالة 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';
  }
}
تنزيل الأداة