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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
phpmyadmin-auth-plugin-unquoted — phpMyAdmin 5.2.3 - عالي - عن بُعد - SQLi - معرّف إضافة المصادقة بدون علامات اقتباس | Kitploit
أدوات/GitHubGitHub/abraxas/phpmyadmin-auth-plugin-unquoted
ماسحات الثغرات الأمنيةتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبأمن الويباختبار الاختراقأمن قواعد البيانات
GitHub
abraxas/phpmyadmin-auth-plugin-unquoted

phpmyadmin-auth-plugin-unquoted

phpMyAdmin 5.2.3 - عالي - عن بُعد - SQLi - معرّف إضافة المصادقة بدون علامات اقتباس

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

الأكثر شعبية

عرض الكل →

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

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

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

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

Abraxas Labs - phpmyadmin-auth-plugin-unquoted

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  phpmyadmin-auth-plugin-unquoted

phpmyadmin-auth-plugin-unquoted

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

phpMyAdmin 5.2.3 (RELEASE_5_2_3 / 962857e) - phpMyAdmin

خيار تغيير كلمة المرور مُفعَّل افتراضيًا. يقوم UserPassword.php بنسخ قيمة POST authentication_plugin إلى ALTER USER ... IDENTIFIED WITH دون قائمة سماح ودون اقتباس. يمر اسم المستخدم والمضيف وكلمة المرور في نفس العبارة عبر escapeString. في MySQL 8 تُصدَر جملة WITH عندما تختلف الإضافة المُرسَلة عن الإضافة الحالية.

يقوم مستخدم phpMyAdmin مسجَّل الدخول بحقن SQL في ALTER USER الخاص به من خلال نموذج تغيير كلمة المرور. أي SQL إضافي في حقل الإضافة هو SQL، وليس اسم إضافة.

المعرّفلا يوجد CVE بعد
الفئةSQLi
الوصولعن بُعد (تسجيل دخول عبر الكوكيز موثَّق؛ تغيير كلمة المرور مُفعَّل)
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 (962857e4f63d42e38f11ff4d63f5e722018add76)
المصادقةتسجيل دخول عبر الكوكيز موثَّق. $cfg['ShowChgPassword'] افتراضيًا true. نوع المصادقة ليس config
الترخيصGNU Affero GPL v3.0
المختبر127.0.0.1 فقط

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

يمكن لمستخدم phpMyAdmin مسجَّل الدخول حقن SQL في ALTER USER الخاص به من خلال نموذج تغيير كلمة المرور.

الصلاحيةالطريقة / نقطة الوصولالاستطلاع / السلامة / التوافرمُثبَت مختبريًا أو مُستنتَج
إرسال SQL إضافي في IDENTIFIED WITHPOST index.php?route=/user-password مع authentication_pluginسلامة العبارة التي يبنيها phpMyAdminمُثبَت مختبريًا. يظهر POST الخام sha256_password /*PMA-AUTH-PLUGIN-UNQUOTED-WITNESS*/ دون اقتباس في صندوق SQL
جعل MySQL تُحلِّل ذلك SQL الإضافي كـ SQLنفس العبارة تصل إلى mysqldسلامة اتصال المستخدممُثبَت مختبريًا. احتفظ السجل العام بالإضافة sha256_password وأسقط التعليق. 1227 لأن هذا المستخدم لا يملك CREATE USER
جمل إضافية أو حسابات إضافية إذا نجح الاختراق في التحليلنفس نقطة الوصول؛ تعتمد الاستعلامات المتراكمة على المشغِّلسلامة الحسابات الأخرىمُستنتَج. لا يُشغِّل هذا المختبر عبارة ثانية ولا ينشئ حسابًا آخر
نفس الدمج في إضافة/تعديل المستخدمPrivileges.php IDENTIFIED WITH / MariaDB VIAسلامة العبارات التي يبنيها المانحنظير مُستنتَج. POST المختبر يقتصر على تغيير كلمة المرور

مُغلَق على هذا المسار: الاستخدام غير الموثَّق (يلزم تسجيل دخول عبر الكوكيز)، مصادقة config (تغيير كلمة المرور مخفي)، RCE، نجاح تغيير الإضافة دون GRANT على MySQL 8 (1227 بدون CREATE USER). يبقى اسم المستخدم والمضيف وكلمة المرور مُهرَّبين. كلمة المرور الخاصة لا تحتاج GRANT؛ المتبقي هو حقل الإضافة غير المُقتبَس، وليس تبديل إضافة مجاني.

نفس التثبيت: WebAuthn CustomServer leftover.

كيف وجدته

ثبَّتُ phpmyadmin/phpmyadmin RELEASE_5_2_3. PMASA-2025-1/2/3 موجودة بالفعل في 5.2.2. لا يزال تغيير كلمة المرور يُبنى كالتالي:

return 'ALTER USER \'' . $dbi->escapeString($username)
    . '\'@\'' . $dbi->escapeString($hostname)
    . '\' IDENTIFIED WITH ' . $authPlugin . ' BY '

$authPlugin هو $_POST['authentication_plugin']. تُسقِط MySQL 5.7.37+ و8.0 جملة WITH إلا إذا تغيّرت الإضافة. أرسِل اسمًا مختلفًا عبر POST فتعود الجملة.

منعطفات خاطئة مُسجَّلة بالفعل: اعتبار MySQL 1227 فشلًا للمتبقي (بل هو الدليل على أن SQL الإضافي قد حُلِّل)؛ ادّعاء تغيير إضافة دون GRANT على MySQL 8؛ اعتبار مصادقة config ضمن النطاق؛ reverse shell. مسرحية.

المختبر

python3 phpmyadmin-auth-plugin-unquoted-Abraxas-Labs.py
# or: cd lab && ./run.sh

استهدف فقط http://127.0.0.1:19260. الصورتان phpmyadmin:5.2.3 وmysql:8.0. مشروع Compose باسم phpmyadmin-auth-plugin-unquoted. تُفكَّك الحزمة بعد التشغيل.

تسجيل دخول عبر الكوكيز باسم appuser. أرسِل POST إلى /user-password مع authentication_plugin=sha256_password /*PMA-AUTH-PLUGIN-UNQUOTED-WITNESS*/. صندوق استعلام SQL في PMA: ALTER USER 'appuser'@'%' IDENTIFIED WITH sha256_password /*PMA-AUTH-PLUGIN-UNQUOTED-WITNESS*/ BY '***'. يُحلِّل السجل العام في MySQL التعليق ويخزِّن IDENTIFIED WITH 'sha256_password'. اسم المستخدم مُقتبَس.

SUCCESS phpmyadmin-auth-plugin-unquoted how=live unquoted=yes escaped-user=yes plugin=sha256_password PMA-AUTH-PLUGIN-UNQUOTED-WITNESS

الإصلاح

اعتمد قائمة سماح لأسماء الإضافات من SHOW PLUGINS. لا تُدرِج أبدًا قيمة POST في IDENTIFIED WITH أو VIA أو plugin=.

المراجع

  • github.com/phpmyadmin/phpmyadmin وسم RELEASE_5_2_3 (962857e4f63d42e38f11ff4d63f5e722018add76)
  • libraries/classes/UserPassword.php
  • libraries/classes/Server/Privileges.php
  • نفس التثبيت: PMA-5.2.3-WebAuthn-2FA
  • CWE-89

الترخيص

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

تنزيل الأداة