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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
mysql-jdv-definer-sqli — MySQL Community Server 26.7.0 - عالي - JSON Duality DEFINER SQLi - NO_BACKSLASH_ESCAPES | Kitploit
أدوات/GitHubGitHub/abraxas/mysql-jdv-definer-sqli
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقأمن قواعد البياناتمختبرات وتدريب عملي
GitHubabraxas/mysql-jdv-definer-sqli

mysql-jdv-definer-sqli

MySQL Community Server 26.7.0 - عالي - JSON Duality DEFINER SQLi - NO_BACKSLASH_ESCAPES

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

الأكثر شعبية

عرض الكل →

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

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

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

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

Abraxas Labs - mysql-jdv-definer-sqli

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  mysql-jdv-definer-sqli

mysql-jdv-definer-sqli

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

MySQL Community Server mysqld 26.7.0 (06a5c1c) - Oracle

يقوم JSON Duality DML بربط قيم سلاسل JSON باستخدام escape_string_for_mysql (شرطة مائلة عكسية فقط)، ثم parse_sql تحت sql_mode الخاص بالمستدعي بعد التبديل إلى sctx الخاص بـ DEFINER للعرض. يجعل SET SESSION sql_mode='NO_BACKSLASH_ESCAPES' الأمر \' يُنهي النص الحرفي SQL. سلسلة JSON تحتوي على ' تحقن استعلاماً فرعياً / قائمة SET بصفتها DEFINER. المختبر: مستدعٍ لديه فقط DML على العرض يقرأ secret.s في العمود name المُسقَط.

CREATE VIEW الافتراضي هو DEFINER. X Plugin يتفرّع بالفعل على هذا النمط. JDV لا يفعل. مُقيَّد بميزة: يحتاج إلى JSON Duality View.

IDلا يوجد CVE بعد
الفئةSQLi (DEFINER؛ ليس RCE)
الوصولعن بُعد (SQL مُصادَق عليه؛ يحتاج DML على JSON Duality View)
CWECWE-89
CVSSمرتفع: 8.1 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
المنتجMySQL Community Server mysqld
المتأثر26.7.0 (06a5c1c99c377fc41b2eba1ea244e8b220bdc3c8)
المصادقةمُصادَق عليه؛ INSERT أو UPDATE على JSON Duality View
الترخيصGNU Affero GPL v3.0
المختبر127.0.0.1 فقط. الشاهد في $.name المُسقَط.

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

امتلاك DML على SQL SECURITY DEFINER JSON Duality View. SET SESSION sql_mode='NO_BACKSLASH_ESCAPES'. UPDATE (etag من SELECT) لحقل سلسلة تحتوي قيمة JSON الخاصة به على '. ينتهي النص الحرفي _utf8mb4 '...' المُولَّد. يُنفَّذ باقي الاستعلام بصفتها DEFINER. يختار المختبر secret.s.note في العمود name المُسقَط. SELECT المباشر على secret.s هو 1142.

بدون sql_mode هذا، تُخزَّن نفس JSON كاسم حرفي. تبقى علامة الاقتباس بيانات.

كيف وجدته

نفس مطاردة 26.7.0. كان الافتراضي للـ daemon غير المنشور Crit/High فارغاً. لا يزال JSON Duality DML يربط القيم.

sbuf.append("_utf8mb4 '");
escape_string_for_mysql(&my_charset_utf8mb4_bin, ...);
sbuf.append(1, '\'');

create_sctx_guard يثبّت view_sctx قبل run_substmt. sql_mode الخاص بالمستدعي هو ما يراه parse_sql.

المنعطفات الخاطئة: SQL SECURITY DEFINER بين اسم العرض وAS هو 1064 (الافتراضي هو DEFINER بالفعل). يتم تخطي نفس name كالصف الحالي (is_equal)؛ احقن ضد قيمة مختلفة. Etag مطلوب.

المختبر

cd lab
./run.sh

الصورة mysql:26.7.0. منشورة على 127.0.0.1:18640. العرض app.dv DEFINER root@% فوق app.t. السر في secret.s. الضحية لديه SELECT/INSERT/UPDATE على العرض فقط.

SUCCESS mysql-jdv-definer-sqli victim-secret=denied nbe-inject=yes view-has-witness=yes default-mode-inject=no dump=26.7.0 image=mysql:26.7.0 MYSQL-JDV-DEFINER-SQLI-WITNESS

الإصلاح

اهرب سلاسل JDV DML بنفس فرع NO_BACKSLASH_ESCAPES الذي يمتلكه X Plugin بالفعل (escape_sql_quote مقابل escape_string_for_mysql). اجعل INSERT/UPDATE المُولَّد مُعامَلاً. لا تستخدم parse_sql على القيم المربوطة تحت sctx الخاص بـ DEFINER.

المراجع

  • github.com/mysql/mysql-server وسم mysql-26.7.0 (06a5c1c99c377fc41b2eba1ea244e8b220bdc3c8)
  • sql/json_duality_view/dml.cc append_json_dom / create_sctx_guard
  • حزم شقيقة: abraxas/mysql-mysqldump-show-tables-overflow · abraxas/mysql-mysqldump-tab-path · abraxas/mysql-mysqlbinlog-raw-path · abraxas/mysql-set-role-leftover
تنزيل الأداة