Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2024-27632 — مرجع CVE-2024–27632 | Kitploit
أدوات/GitHubGitHub/ally-petitt/cve-2024-27632
تحليل الثغرات الأمنيةأمن الويبالتشفيرالأوراق والأبحاثالتعلم والتعليم
GitHubally-petitt/cve-2024-27632

CVE-2024-27632

مرجع CVE-2024–27632

عرض المستودع
19منذ 2 سنواتلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2024-27632 تفاصيل الثغرة الأمنية

نظرة عامة

في Savane الإصدار 3.12 وما قبله، يتم استخدام الطابع الزمني ليونكس (Unix timestamp) كبذرة في مولّد الأعداد العشوائية الزائفة (PRNG) المستخدم لتوليد رموز الحماية من تزوير الطلبات عبر المواقع (CSRF) (form_id). ونتيجة لذلك، قد يتمكن المهاجم من توليد نفس رمز CSRF الصالح المُعيّن لمستخدم ضحية بشكل مستقل، وبذلك يتجاوز فحوصات CSRF وينجح في تنفيذ هجوم CSRF. يشمل تأثير هجوم CSRF تصعيد الامتيازات والاستيلاء على الحساب.

تصنيف CWE: CWE-335: الاستخدام غير الصحيح للبذور في مولّد الأعداد العشوائية الزائفة (PRNG)

أُبلغ من قبل: Ally Petitt

المنتج المتأثر: Savane

الإصدارات المتأثرة: 3.12 وما قبله

التفاصيل التقنية

قبل توليد form_id، يتم استدعاء utils_srand(). بعد ذلك، يتم إنشاء form_id الناتج كقيمة تجزئة MD5 لقيمة يولّدها PRNG الخاص بـ PHP.

frontend/php/include/form.php:61

  if (!$form_id)
    {
      utils_srand ();
      $form_id = md5 (mt_rand (0, 1000000));
    }

كما هو موضح في كتلة الكود أدناه، يتم تعريف utils_srand() كدالة تُبذر microtime()، وهي دالة تُرجع الطابع الزمني ليونكس، مضروبًا في 1,000,000.

frontend/php/include/utils.php:969

function utils_srand ()
{
  mt_srand ((int)((double)microtime () * 1000000));
}

ونتيجة لذلك، يتم استخدام الطابع الزمني ليونكس، وهو قيمة قابلة للتنبؤ، لتوليد رقم عشوائي زائف ذي أهمية أمنية بالغة. يمكن للمهاجم أن يخمّن أو يستحث الوقت الذي تم فيه إنشاء رمز المستخدم للحصول على طابع زمني صالح يمكنه استخدامه لصناعة رمز CSRF صالح.

خطوات التحقق

تهدف هذه الخطوات إلى إظهار أن معرفة الطابع الزمني كافية لتوليد رمز صالح بشكل مستقل. قد تتضمن استراتيجيات الهجوم في العالم الحقيقي إبداعًا إضافيًا لضمان استنتاج الطابع الزمني الصحيح لإنشاء الرمز.

  1. قم بزيارة صفحة ويب في Savane تولّد form_id.
  2. سجّل الطابع الزمني ليونكس (Unix timestamp) عندما زرت تلك الصفحة.
  3. استبدل $RECORDED_UNIX_TIME بالوقت الذي تم تسجيله وشغّل سكربت PHP التالي. لاحظ أن القيمة المولّدة تطابق form_id الذي أعاده الخادم عند زيارتك الأولى لصفحة الويب.
<?php
mt_srand ((int)((double)$RECORDED_UNIX_TIME* 1000000));
echo md5 (mt_rand (0, 1000000));
?>

التخفيف

قم بالترقية إلى Savane الإصدار 3.13 أو أحدث. يمكن العثور على التصحيح هنا.

تنزيل الأداة