تخيل أن جميع ملفات موقعك مشفرة، بينما يتطلب المخترقون آلاف...
أعرف عن الثغرةثغرة أمنية في المنصات التعليمية التي تستخدم [Tutor LMS] تؤثر على أكثر من 80 ألف منصة
- الكاتب: م. أحمد أسامة
- الدعم التقني, ثغرات
- لا توجد تعليقات
في 15 فبراير 2024، تم اكتشاف ثغرة من نوع [SQL Injection] في إضافة [Tutor LMS] المثبتة في أكثر من 80 ألف منصة وهذه الثغرة الأمنية يمكن الاستفادة منها لمن يمتلك صلاحية مشترك/طالب أو صلاحية أعلى لاستخراج البيانات الحساسة من قاعدة البيانات، مثل: كلمات المرور والتفاصيل في الأسطر القادمة.
المحتوى
ما هي إضافة Tutor LMS؟
عبارة عن مكون إضافي كامل لنظام WordPress LMS لإنشاء الدورات التدريبية وبيعها بسهولة عبر الإنترنت. يمكنك إنشاء اختبارات صعبة وممتعة ودروس تفاعلية وتقارير وإحصائيات قوية مما يجعل Tutor من أفضل الإضافات المجانية لـ WordPress LMS.
الإصدار المٌصاب
التحليل الفني للثغرة
لسوء الحظ، فإن التنفيذ غير الآمن لوظيفة الاستعلام عن الأسئلة والأجوبة الخاصة بالمكون الإضافي يسمح بإدخال حقن للـ SQL
يكشف فحص الكود أن المكون الإضافي يستخدم دالة get_qa_questions() في كلاس Utils للاستعلام عن أسئلة [Q&A]، حيث يمكن تحديد المعرف باستخدام الباراميتر ‘question_id’
يتم استدعاء هذه الوظيفة في عدة ملفات . في بعض الحالات، يتم تصحيح قيمة إدخال GET “question_id” في ملف العرض:
$question_id = Input::get( 'question_id', 0, Input::TYPE_INT );
ومع ذلك، هناك أيضًا حالات لا يتم فيها تعريفها:
$question_id = Input::get( 'question_id' );
تحتوي الدالة get_qa_questions() على الكود التالي:
$question_clause = $question_id ? ' AND _question.comment_ID=' . $question_id : '';
هنا يمكننا أن نرى أنه لا يتم استخدام أي وظيفة للتطهير في معرف السؤال في دالة get_qa_questions() على الرغم من أن هذا المعرف يُقصد به دائمًا أن يكون عددًا صحيحًا.
$query = $wpdb->prepare(
"SELECT {$columns_select}
FROM {$wpdb->comments} _question
INNER JOIN {$wpdb->posts} _course
ON _question.comment_post_ID = _course.ID
INNER JOIN {$wpdb->users} _user
ON _question.user_id = _user.ID
LEFT JOIN {$wpdb->commentmeta} _meta
ON _question.comment_ID = _meta.comment_id
LEFT JOIN {$wpdb->commentmeta} _meta_archive
ON _question.comment_ID = _meta_archive.comment_id
WHERE _question.comment_type = 'tutor_q_and_a'
AND _question.comment_parent = 0
AND _question.comment_content LIKE %s
{$in_course_id_query}
{$question_clause}
{$meta_clause}
{$qna_types_caluse}
{$filter_clause}
{$order_condition}
{$limit_offset}",
$search_term
);
عادةً، تقوم دالة ‘prepare()’ بتحديد [parameterize and escape] من استعلام SQL للتنفيذ الآمن في WordPress، وبالتالي توفير الحماية ضد هجمات حقن SQL. ولكن، في هذه الحالة، لا يتم استخدام قيمة $question_clause كباراميتر، بل يتم إلحاقها فقط بالاستعلام كسلسلة [String]. هذا يعني أن Prepar() لن يفلت فعليًا من البيانات التي يتم تمريرها إلى استعلام SQL، مما يجعل من الممكن الخروج من استعلام SQL الحالي وإدخال استعلامات جديدة لاستخراج البيانات.
لا يمكن حقن SQL Union-Based SQL injection بسبب بنية الاستعلام، مما يعني أن المهاجم سيحتاج إلى استخدام أسلوب أعمى يعتمد على الوقت لاستخراج المعلومات من قاعدة البيانات.
هذا يعني أنهم سيحتاجون إلى استخدام عبارات SQL CASE مع أمر SLEEP() أثناء مراقبة وقت الاستجابة لكل طلب لسرقة المعلومات من قاعدة البيانات. هذه طريقة معقدة ولكنها ناجحة في كثير من الأحيان للحصول على معلومات من قاعدة بيانات عند استغلال الثغرات الأمنية في SQL حقن.
الجدول الزمني
15 فبراير 2024 – أرسل تقرير بوجود ثغرة حقن SQL في Tutor.
- 22 فبراير 2024 – تم التحقق من صحة التقرير.
- 22 فبراير 2024 – بدء الاتصال مع مبرمجي الإضافة وطُلب منهم تأكيد البريد الوارد للتعامل مع المناقشة.
- 24 فبراير 2024 – أرسل التقرير للمسؤولين وأقروا به وبدأو بالعمل على الإصلاح.
- 11 مارس 2024 – تم إصدار النسخة المصححة بالكامل من الإضافة، 2.6.2.
رسالة لعملاءي
كافة عملاءي الذين اشتركوا بخدمة الدعم التقني بأمان ويتم تحديث مواقعهم ومشاريعهم على الفور ويتم إرسال التقارير لهم أولًا بأول، إذا لم تكن من عملاءي الذين استفادوا من خدمة الدعم التقني فيمكنك طلب فحص موقعك مجانًا دون أي مقابل وإبلاغك بالمشاكل والثغرات بموقعك وتفاصيل الباقات إذا كنت مهتمًا بتأمين وحماية مشروعك والخدمات التي ستحصل عليها تجدها بالمقالة.
الدعم التقني
أوصيك إذا لم تكن تقنيًا بتوظيف أحد المتخصصين لرعاية وفحص موقعك وتحديثه وصيانته أولًا بأول فلا يمكنك أبدًا الحصول على موقع آمن وينافس ويظهر بشكل احترافي للعملاء دون وجود دعم تقني دوري للموقع فلعلك لاحظت التحديثات والترقيات الدائمة لتطبيقات هواتفك أو نظام تشغيلك أو متصفحك وحتى برامح فحص الفيروسات نفسها.. إن التحديثات والتأمينات باتت ضرورة ملحة بعدما أصبحت الهجمات لا تبقي ولا تذر أحدًا حتى المنصات الكبيرة والمواقع المشهورة.
فلم يعد الدعم التقني ووجود متخصص معك أمر ترفيهي بل أصبح من البديهيات إذا كنت تخشى على كيانك الإلكتروني وتخشى على ما أنفقت فيه وتطمح للمنافسة والتوسع على شبكة التواصل الاجتماعي، ولأجل ذلك قمت بإعداد هذه الخدمة عبر باقات متنوعة وخدمة منفصلة شهد لها عملائي عبر تعليقاتهم بالموقع أو عبر حسابي على لينكدإن بكل إيجابية وترحاب.
الشهر الواحد
دعم الصيانة والتحديثات-
صيانة الأعطال التقنية
-
تحديث الأنظمة وحمايتها
-
تأمين المواقع والتطبيقات
-
ضبط وتأمين الاستضافات
-
تصحيح الأكواد البرمجية
-
حماية الملفات البرمجية
-
فحص الفيروسات الدوري
-
نسخ احتياطي آمن
ربع سنوي
دعم الصيانة والتحديثات-
صيانة الأعطال التقنية
-
تحديث الأنظمة وحمايتها
-
تأمين المواقع والتطبيقات
-
ضبط وتأمين الاستضافات
-
تصحيح الأكواد البرمجية
-
حماية الملفات البرمجية
-
فحص الفيروسات الدوري
-
نسخ احتياطي آمن
نصف سنوي
دعم الصيانة والتحديثات-
صيانة الأعطال التقنية
-
تحديث الأنظمة وحمايتها
-
تأمين المواقع والتطبيقات
-
ضبط وتأمين الاستضافات
-
تصحيح الأكواد البرمجية
-
حماية الملفات البرمجية
-
فحص الفيروسات الدوري
-
نسخ احتياطي آمن
العام الكامل
دعم الصيانة والتحديثات-
صيانة الأعطال التقنية
-
تحديث الأنظمة وحمايتها
-
تأمين المواقع والتطبيقات
-
ضبط وتأمين الاستضافات
-
تصحيح الأكواد البرمجية
-
حماية الملفات البرمجية
-
فحص الفيروسات الدوري
-
نسخ احتياطي آمن
ختام المقالة
أرجو أن أكون قد وفقت في إظهار أهمية وخطورة الدعم التقني وأن يكون سردي قد نال إعجابكم وأقبل تعليقاتكم بالأسفل ويسعدني كافة مشاركتكم.. هذه الخدمة لها صفحة منفصلة بها كافة التفاصيل في حالة احتياجك لهذه الخدمة من أجل موقعك الإلكتروني أو تطبيقك ولا تنسى زائري الكريم بتحديث الإضافة الآن لآخر نسخة لكي تكون بأمان حتى توظفني وأفحص موقعك بالكامل وأعطيك تقرير مفصل لكافة أجزاء كيانك البرمجي.
شارك المقالة للإفادة
نبذة عن الكاتب
لمعرفة المقالات الجديدة والتواصل معي تابعني عبر:
دليل شامل لأشهر 10 أنواع من الهجمات على المواقع وكيف تحمي موقعك منها
مع التطور السريع في التكنولوجيا وزيادة الاعتماد على الإنترنت في...
أعرف عن الثغرة