ثغرة أمنية في المنصات التعليمية التي تستخدم Tutor LMS تؤثر على أكثر من 80 ألف منصة

ثغرة أمنية في المنصات التعليمية التي تستخدم [Tutor LMS] تؤثر على أكثر من 80 ألف منصة

في 15 فبراير 2024، تم اكتشاف ثغرة من نوع [SQL Injection] في إضافة [Tutor LMS] المثبتة في أكثر من 80 ألف منصة وهذه الثغرة الأمنية يمكن الاستفادة منها لمن يمتلك صلاحية مشترك/طالب أو صلاحية أعلى لاستخراج البيانات الحساسة من قاعدة البيانات، مثل: كلمات المرور والتفاصيل في الأسطر القادمة.

المحتوى

ما هي إضافة Tutor LMS؟

عبارة عن مكون إضافي كامل لنظام WordPress LMS لإنشاء الدورات التدريبية وبيعها بسهولة عبر الإنترنت. يمكنك إنشاء اختبارات صعبة وممتعة ودروس تفاعلية وتقارير وإحصائيات قوية مما يجعل Tutor من أفضل الإضافات المجانية لـ WordPress LMS.

الإصدار المٌصاب

tutor 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.

رسالة لعملاءي

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

الدعم التقني

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

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

الشهر الواحد

دعم الصيانة والتحديثات
$250
$ 199
99
شهر/
  • صيانة الأعطال التقنية
  • تحديث الأنظمة وحمايتها
  • تأمين المواقع والتطبيقات
  • ضبط وتأمين الاستضافات
  • تصحيح الأكواد البرمجية
  • حماية الملفات البرمجية
  • فحص الفيروسات الدوري
  • نسخ احتياطي آمن

ربع سنوي

دعم الصيانة والتحديثات
$750
$ 569
99
3 أشهر/
  • صيانة الأعطال التقنية
  • تحديث الأنظمة وحمايتها
  • تأمين المواقع والتطبيقات
  • ضبط وتأمين الاستضافات
  • تصحيح الأكواد البرمجية
  • حماية الملفات البرمجية
  • فحص الفيروسات الدوري
  • نسخ احتياطي آمن
شائعة

نصف سنوي

دعم الصيانة والتحديثات
$1500
$ 1109
99
6 أشهر/
  • صيانة الأعطال التقنية
  • تحديث الأنظمة وحمايتها
  • تأمين المواقع والتطبيقات
  • ضبط وتأمين الاستضافات
  • تصحيح الأكواد البرمجية
  • حماية الملفات البرمجية
  • فحص الفيروسات الدوري
  • نسخ احتياطي آمن

العام الكامل

دعم الصيانة والتحديثات
$3000
$ 2159
99
عام/
  • صيانة الأعطال التقنية
  • تحديث الأنظمة وحمايتها
  • تأمين المواقع والتطبيقات
  • ضبط وتأمين الاستضافات
  • تصحيح الأكواد البرمجية
  • حماية الملفات البرمجية
  • فحص الفيروسات الدوري
  • نسخ احتياطي آمن
الأوفر

ختام المقالة

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

باقات الدعم التقني للأنظمة
للمواقع الإلكترونية والاستضافات وتطبيقات الهواتف وأنظمة سطح المكتب

شارك المقالة للإفادة

نبذة عن الكاتب

م. أحمد أسامة
م. أحمد أسامة
مهندس برمجيات مصري ● خبرة تزيد عن تسعة أعوام ● مدير لشركة [TGHEZ LTD] - أقدم خدمات تصميم وبرمجة وحماية مواقع الويب وإنشاء تطبيقات الجوال وتوزيع الاستضافات ● شريكًا مؤسسًا لشركة كريتكس كود بأمستردام بهولندا ومهندس مستقل بمنصة المدرسة لتعليم البرمجة بالعربية ● لدي عملاء من 15 دولة حول العالم.

لمعرفة المقالات الجديدة والتواصل معي تابعني عبر:

اختراقات ذات صلة

اكتب تعليقًا

مشترك
إخطار
guest
التقييم
إلى أي درجة أعجبك عملي/مقالتي
0 تعليقات
تعليقات مضمنة
عرض جميع التعليقات

لا يمكنك طباعة شيء من الموقع

Scroll to Top