Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-52614 — هناك ثغرة حقن SQL في النهاية الخلفية لـ Ruoyi v4.8.3 | Kitploit
أدوات/GitHubGitHub/chinesespeople/cve-2026-52614
كسر كلمات المرورتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراق
GitHubchinesespeople/cve-2026-52614

CVE-2026-52614

هناك ثغرة حقن SQL في النهاية الخلفية لـ Ruoyi v4.8.3

عرض المستودع
111منذ شهر واحدلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-52614 - RuoYi v4.8.3 filterKeyword تجاوز SQL Injection

中文 | English

مطلوب إذن / اختبار مرخص فقط
هذا المستودع مخصص فقط للبحث الأمني والاختبار المرخص. لا تستخدمه ضد أنظمة بدون إذن صريح.
يُستخدم هذا المستودع فقط للبحث الأمني والاختبارات التي حصلت على إذن صريح. لا تستخدمه على أنظمة غير مرخصة.

中文说明

漏洞简介

يسمح نقطة النهاية /tool/gen/createTable في وحدة توليد الكود لـ RuoYi v4.8.3 للمستخدمين الخلفيين بتقديم SQL لإنشاء الجداول. تستدعي النقطة الطرفية الدالة SqlUtil.filterKeyword() لتصفية الكلمات الرئيسية الخطرة من خلال قائمة سوداء. ولكن التنفيذ يقوم بإزالة جميع المسافات البيضاء من الإدخال قبل التحقق من عناصر القائمة السوداء التي تحتوي على مسافات زائدة، مثل select و insert و drop . وبالتالي لا يمكن لتلك العناصر مطابقة الإدخال المُطبيع.

يمكن لعبارة CREATE TABLE ... AS SELECT ... (CTAS) اجتياز فحص نوع MySqlCreateTableStatement الخاص بـ Druid مع تنفيذ SELECT. يمكن للمهاجم الذي لديه جلسة خلفية صالحة استخدام هذا السلوك لحقن SQL أعمى قائم على القيم البوليانية، واستخراج البيانات الحساسة، وإنشاء جداول.

影响条件

  • الهدف يعمل بـ RuoYi v4.8.3.
  • المختبر لديه جلسة خلفية معتمدة صالحة JSESSIONID.
  • الحساب المُعتمد يمكنه الوصول إلى نقاط نهاية وحدة توليد الكود.
  • قاعدة البيانات والحساب المُكوّن يسمحان بعمليات CTAS.

漏洞原理

يسترد البرنامج النصي تجزئة كلمة المرور وملح المستخدم admin من جدول sys_user باستخدام المنطق التالي:

  1. إنشاء جدول وسيط يحتوي على login_name و password و salt.
  2. إنشاء جدول اختبار واحد لكل حرف مرشح مع شرط SUBSTRING().
  3. عندما يكون الشرط صحيحًا، يُرجع CTAS صفًا ولا يتم استيراد جدول الاختبار تلقائيًا إلى قائمة جداول المولد.
  4. عندما يكون الشرط خاطئًا، يُرجع CTAS صفًا صفريًا ويتم استيراد الجدول تلقائيًا، مما يجعله مرئيًا من خلال /tool/gen/list.
  5. استخدم هذا الفرق لاستعادة تجزئة كلمة المرور والملح حرفًا بحرف.

环境要求

  • Python 3.8+
  • جلسة خلفية صالحة ومرخصة لـ RuoYi
  • حزم Python: requests، urllib3

تثبيت التبعيات:

root@kitploit:~
python -m pip install requests urllib3

使用方法

افتح exp.py واستبدل السطرين التاليين في قسم التهيئة بالقرب من أعلى الملف:

root@kitploit:~
TARGET = "http://127.0.0.1:8080"
COOKIE = "JSESSIONID=your_session_id"

حيث:

  • TARGET: هو عنوان URL الأساسي لـ RuoYi المراد اختباره، على سبيل المثال http://127.0.0.1:8080.
  • COOKIE: هي جلسة JSESSIONID خلفية معتمدة صالحة.

بعد استبدال عنوان URL والجلسة، قم بتشغيل:

root@kitploit:~
python exp.py

ينشئ البرنامج النصي جدولًا وسيطًا والعديد من جداول الاختبار المنطقية في قاعدة البيانات الهدف. استخدمه فقط في بيئة معزولة أو مخوّلة صراحة، واطلب من مسؤول قاعدة البيانات إزالة الجداول المُنشأة بعد الاختبار.

验证截图

exp.png تظهر تحققًا ناجحًا في بيئة محلية مرخصة:

التحقق الناجح

修复建议

  • لا تعتمد على القوائم السوداء للكلمات الرئيسية لـ SQL أو تنفيذ SQL المقدم من المستخدم مباشرة.
  • صحح منطق التطبيع والمطابقة في filterKeyword()، لكن لا تعامله كإجراء أمني وحيد.
  • طبق تخويلًا صارمًا وتدقيقًا وحماية CSRF على نقاط نهاية توليد الكود.
  • أزل قدرة إنشاء جداول SQL العشوائية؛ إذا لزم الأمر، قم ببناء عبارات ثابتة من معلمات منظمة ومُتحقق منها.
  • استخدم حساب قاعدة بيانات بأقل صلاحية لا يمكنه قراءة الجداول الحساسة أو تنفيذ عمليات CTAS/DDL غير ضرورية.
  • قم بالترقية إلى إصدار رسمي مُصلح أو طبق تصحيح الأمان من البائع.

English

Summary

نقطة النهاية /tool/gen/createTable في وحدة توليد الكود لـ RuoYi v4.8.3 تقبل SQL لإنشاء الجداول من المستخدمين الخلفيين المُوثقين. تستدعي النقطة الطرفية الدالة SqlUtil.filterKeyword() لحظر كلمات SQL الخطرة. ومع ذلك، فإن التنفيذ يزيل جميع المسافات البيضاء من الإدخال قبل التحقق من عناصر القائمة السوداء التي تحتوي على مسافات زائدة، مثل select و insert و drop . وبالتالي لا يمكن لتلك العناصر مطابقة الإدخال المُطبيع.

يمكن لعبارة CREATE TABLE ... AS SELECT ... (CTAS) اجتياز فحص نوع MySqlCreateTableStatement الخاص بـ Druid مع تنفيذ SELECT. يمكن للمهاجم الذي لديه جلسة خلفية صالحة استخدام هذا السلوك لحقن SQL أعمى قائم على القيم البوليانية، واستخراج البيانات الحساسة، وإنشاء جداول.

Preconditions

  • الهدف يعمل بـ RuoYi v4.8.3.
  • المختبر لديه جلسة خلفية معتمدة صالحة JSESSIONID.
  • الحساب المُعتمد يمكنه الوصول إلى نقاط نهاية وحدة توليد الكود.
  • قاعدة البيانات والحساب المُكوّن يسمحان بعمليات CTAS.

How the PoC Works

يسترد البرنامج النصي تجزئة كلمة المرور وملح المستخدم admin من جدول sys_user باستخدام المنطق التالي:

  1. إنشاء جدول وسيط يحتوي على login_name و password و salt.
  2. إنشاء جدول اختبار واحد لكل حرف مرشح مع شرط SUBSTRING().
  3. عندما يكون الشرط صحيحًا، يُرجع CTAS صفًا ولا يتم استيراد جدول الاختبار تلقائيًا إلى قائمة جداول المولد.
  4. عندما يكون الشرط خاطئًا، يُرجع CTAS صفًا صفريًا ويتم استيراد الجدول تلقائيًا، مما يجعله مرئيًا من خلال /tool/gen/list.
  5. استخدم هذا الفرق لاستعادة تجزئة كلمة المرور والملح حرفًا بحرف.

Requirements

  • Python 3.8+
  • جلسة خلفية صالحة ومرخصة لـ RuoYi
  • حزم Python: requests، urllib3

تثبيت التبعيات:

root@kitploit:~
python -m pip install requests urllib3

Usage

افتح exp.py واستبدل السطرين التاليين في قسم التهيئة بالقرب من أعلى الملف:

root@kitploit:~
TARGET = "http://127.0.0.1:8080"
COOKIE = "JSESSIONID=your_session_id"

حيث:

  • TARGET هو عنوان URL الأساسي لـ RuoYi المراد اختباره، على سبيل المثال http://127.0.0.1:8080.
  • COOKIE هي جلسة JSESSIONID خلفية معتمدة صالحة.

بعد استبدال عنوان URL والجلسة، قم بتشغيل:

root@kitploit:~
python exp.py

ينشئ البرنامج النصي جدولًا وسيطًا والعديد من جداول الاختبار المنطقية في قاعدة البيانات الهدف. استخدمه فقط في بيئة معزولة أو مخوّلة صراحة، واطلب من مسؤول قاعدة البيانات إزالة الجداول المُنشأة بعد الاختبار.

Screenshot

exp.png تظهر تحققًا ناجحًا في بيئة محلية مرخصة:

التحقق الناجح

Mitigation

  • لا تعتمد على القوائم السوداء للكلمات الرئيسية لـ SQL أو تنفيذ SQL المقدم من المستخدم مباشرة.
  • صحح منطق التطبيع والمطابقة في filterKeyword()، لكن لا تعامله كإجراء أمني وحيد.
  • طبق تخويلًا صارمًا وتدقيقًا وحماية CSRF على نقاط نهاية توليد الكود.
  • أزل قدرة إنشاء جداول SQL العشوائية؛ إذا لزم الأمر، قم ببناء عبارات ثابتة من معلمات منظمة ومُتحقق منها.
  • استخدم حساب قاعدة بيانات بأقل صلاحية لا يمكنه قراءة الجداول الحساسة أو تنفيذ عمليات CTAS/DDL غير ضرورية.
  • قم بالترقية إلى إصدار رسمي مُصلح أو طبق تصحيح الأمان من البائع.

Files

  • exp.py - برنامج التحقق / 验证脚本
  • exp.png - لقطة شاشة للتحقق الناجح / 验证成功截图
  • README.md - توثيق الثغرة باللغتين / 中英双语漏洞说明
تنزيل الأداة