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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
phpmyadmin-pmadb-central-sqli — phpMyAdmin 5.2.3 - عالي - عن بُعد - SQLi - استعلام central columns pmadb المتبقي | Kitploit
أدوات/GitHubGitHub/abraxas/phpmyadmin-pmadb-central-sqli
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبأمن الويباختبار الاختراقمختبرات وتدريب عملي
GitHubabraxas/phpmyadmin-pmadb-central-sqli

phpmyadmin-pmadb-central-sqli

phpMyAdmin 5.2.3 - عالي - عن بُعد - SQLi - استعلام central columns pmadb المتبقي

عرض المستودع
3منذ 8 أياملم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

Abraxas Labs - phpmyadmin-pmadb-central-sqli

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  phpmyadmin-pmadb-central-sqli

التحليل المكتوب: https://abraxaslabs.tech/research/phpmyadmin-pmadb-central-sqli

phpmyadmin-pmadb-central-sqli

الفئة: SQLi الوصول: عن بُعد

phpMyAdmin 5.2.3 (الوسم RELEASE_5_2_3، الالتزام 962857e). تكتب الأعمدة المركزية col_extra عبر دمج POST extra وattribute في نص SQL حرفي محاط بعلامة اقتباس مفردة على رابط مستخدم التحكم. تمر الحقول المجاورة عبر escapeString. هذان الحقلان لا يمرّان.

يقوم مستخدم مسجّل الدخول بإرسال POST إلى index.php?route=/database/central-columns مع multi_edit_central_column_save=1 وعلامة اقتباس في field_attribute (أو col_extra). بعد ذلك يشغّل getInsertQuery / updateOneColumn تلك السلسلة بصفة مستخدم التحكم pma مقابل pma__central_columns. ذلك الحساب هو مستخدم تخزين الإعدادات، وليس صندوق SQL المسجّل الدخول إليه.

كان CVE-2016-5703 هو اسم قاعدة البيانات في الأعمدة المركزية. لم يكن حقلا extra وattribute هما ذلك الخلل.

المعرّفلا يوجد CVE بعد
الفئةSQLi (مستخدم التحكم على pma__central_columns)
الوصولعن بُعد (تسجيل دخول مصادَق عبر الكوكيز؛ الأعمدة المركزية pmadb مفعّلة)
CWECWE-89
CVSSعالٍ: 8.1 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
المنتجphpMyAdmin
المتأثر5.2.3 الوسم RELEASE_5_2_3 (962857e)
المصادقةتسجيل دخول مصادَق عبر الكوكيز. الأعمدة المركزية pmadb مفعّلة.
الترخيصGNU Affero GPL v3.0
المختبر127.0.0.1:19210 فقط

ما يمكن للمهاجم فعله

يمكن لمستخدم phpMyAdmin مسجّل الدخول يستطيع فتح الأعمدة المركزية أن يحقن SQL بصفة مستخدم التحكم على pma__central_columns.

الصلاحيةالطريقة / المسارمُثبت مختبريًا أو مُستنتج
كسر سلسلة INSERT/UPDATE الخاصة بمستخدم التحكم (سلامة SQL في pmadb)POST index.php?route=/database/central-columns مع multi_edit_central_column_save=1 وعلامة اقتباس في field_attribute / col_extraمُثبت مختبريًا. خطأ JSON #1064. الشاهد PMA-PMADB-CENTRAL-SQLI-WITNESS في خطأ مستخدم التحكم
إبقاء الحقول المجاورة ضمن النطاقنفس POST، علامة اقتباس في field_nameمُثبت مختبريًا. يُخزَّن الصف كـ neg'col. صمد escapeString
قراءة أو الكتابة فوق صفوف الأعمدة المركزية لمستخدمين آخريننفس نقطة الحقن، بمجرد إغلاق السلسلةمُستنتج. يتوقف المختبر عند خطأ صياغة؛ لا استعلامات متراكمة
استعلامات إضافية بصفة مستخدم التحكمنفس نقطة الحقن إذا كان رابط mysqli الخاص بالتحكم يسمح بالاستعلامات المتعددةمُستنتج. الإعداد الافتراضي لـ mysqli::query هو استعلام واحد. غير مفعّل هنا
الوصول إلى جداول pmadb أخرى (الإشارات المرجعية، السجل، pma__userconfig)فقط إذا كانت الاستعلامات المتراكمة أو كتابة من نوع INTO ممكنةمُستنتج. مستخدم التحكم في هذا المختبر يملك فقط DML على phpmyadmin.*

مغلق في هذا المختبر: الوصول غير المصادَق، وصندوق SQL الخاص بـ appuser المسجّل الدخول (appdb فقط)، وصدفة نظام التشغيل، والاستعلامات المتراكمة. الميزة لا تعمل إذا كانت pmadb / الأعمدة المركزية معطّلة (وهذا FAIL، وليس هذه الثغرة المتبقية).

كيف وجدتها

ثماني عمليات بحث متوازية في المصدر لـ RELEASE_5_2_3. الحقول المجاورة في CentralColumns.php تمر عبر escapeString. أما extra وattribute فتُدمجان عبر implode في نص حرفي محاط بعلامة اقتباس مفردة. كان CVE-2016-5703 هو اسم قاعدة البيانات، وليس هذه الأعمدة.

مسارات خاطئة: اعتبار علامة اقتباس في field_name هي الثغرة المتبقية (تُخزَّن كـ neg'col؛ وهذا هو النفي)؛ توقّع أن يُظهر السجل العام الشاهد غير المُهرَّب (يموت INSERT بـ #1064 قبل كتابة ناجحة)؛ اعتبار تعطيل pmadb هو هذه الثغرة المتبقية (الميزة لا تعمل).

المختبر

python3 phpmyadmin-pmadb-central-sqli-Abraxas-Labs.py

أو

cd lab
./run.sh

للاسترجاع المحلي فقط: http://127.0.0.1:19210. الصور phpmyadmin:5.2.3 و mysql:8.0. مشروع Compose phpmyadmin-pmadb-central-sqli. الشاهد PMA-PMADB-CENTRAL-SQLI-WITNESS.

SUCCESS phpmyadmin-pmadb-central-sqli how=live insert-syntax=yes field-name-escaped=yes general-log-unescaped=false error-has-witness=true PMA-PMADB-CENTRAL-SQLI-WITNESS

الإصلاح

escapeString / quoteString(..., CONNECT_CONTROL) على extra وattribute. القائمة المسموح بها auto_increment، UNSIGNED، BINARY، UNSIGNED ZEROFILL، وon update CURRENT_TIMESTAMP. يُعدّ quoteString في phpMyAdmin 6.x على كتلة JSON الخاصة بالمصمّم الشكل المُرقّع لهذه الفئة من دمج pmadb.

المراجع

  • github.com/phpmyadmin/phpmyadmin وسم RELEASE_5_2_3 (962857e)
  • libraries/classes/Database/CentralColumns.php getInsertQuery / updateOneColumn
  • Controllers/Database/CentralColumnsController.php POST multi_edit_central_column_save
  • المسار GET|POST /database/central-columns
  • بقايا التثبيت نفسه: phpmyadmin-webauthn · phpmyadmin-designer-json-sqli · phpmyadmin-setup-validate · phpmyadmin-csrf-sql
  • CWE-89

الترخيص

GNU Affero GPL v3.0. راجع LICENSE. للاستخدام في مختبر loopback فقط. دون أي ضمان.

تنزيل الأداة