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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2025-56380 — تم اكتشاف أن Frappe Framework الإصدار v15.72.4 يحتوي على ثغرة حقن SQL عبر معلمة fieldname في نقطة نهاية API frappe.client.get_value. | Kitploit
أدوات/GitHubGitHub/moalali/cve-2025-56380
توليد الحمولةتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالتعلم والتعليم
GitHubmoalali/cve-2025-56380

CVE-2025-56380

تم اكتشاف أن Frappe Framework الإصدار v15.72.4 يحتوي على ثغرة حقن SQL عبر معلمة fieldname في نقطة نهاية API frappe.client.get_value.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2025-56380 — حقن SQL أعمى قائم على الوقت في Frappe / ERPNext (frappe.client.get_value)

📌 الملخص تم اكتشاف ثغرة حقن SQL أعمى قائمة على الوقت في نقطة نهاية API الخاصة بـ frappe.client.get_value في إطار عمل Frappe الإصدار v15.72.4 (وموجودة أيضًا في قاعدة أكواد ERPNext v15.67.0). يمكن لمستخدم مصادق لديه صلاحية الوصول إلى API الخاصة بالتقارير/العميل حقن SQL عبر معامل fieldname. من خلال إدراج دوال تأخير زمني (مثل sleep(15)) في معامل fieldname، يمكن للمهاجم تأكيد الحقن عبر تأخيرات استجابة قابلة للقياس — مما يتيح رفض الخدمة، وكشف المعلومات (عبر تقنيات الحقن الأعمى)، والتلاعب بالبيانات.


🛠 التفاصيل الفنية

  • نوع الثغرة: حقن SQL (أعمى قائم على الوقت) (CWE‑89)

  • المنتجات المتأثرة: Frappe Framework / ERPNext

  • الإصدارات المتأثرة (المبلّغ عنها):

    • Frappe — 15.72.4
    • ERPNext — 15.67.0 (نفس قاعدة الأكواد المتأثرة)
  • المكوّن المتأثر: طريقة API frappe.client.get_value (frappe/client.py)

  • نقطة النهاية القابلة للاستغلال:

    root@kitploit:~
    /api/method/frappe.client.get_value
    

    مثال على استعلام قابل للاستغلال:

    root@kitploit:~
    /api/method/frappe.client.get_value?doctype=Report&fieldname=ref_doctype+%2F+sleep(15)+&filters=Profit+and+Loss+Statement&_=1752174156893
    
  • المعامل القابل للاستغلال: fieldname (لا يتم تطهيره بشكل صحيح / يُستخدم بالتسلسل المباشر في SQL)

  • نوع الهجوم: عن بُعد (يتطلب مصادقة ووصولًا إلى API الخاصة بالتقارير)

  • الخطورة: عالية (حقن SQL الأعمى القائم على الوقت يتيح استخراج البيانات ورفض الخدمة والتلاعب بها)

  • درجة CVSS v3.1 التقديرية: 8.0 (عالية) — تقدير يستند إلى حقن SQL عن بُعد يتطلب مصادقة ويتيح كشف البيانات ورفض الخدمة؛ يجب أن تقوم الجهات المخصصة (assigners) بإجراء التقييم المعتمد.

  • الحالة: غير مُصلَحة (كما ورد في التقرير)

  • اكتشفها: Mohammed Aloli (GitHub: https://github.com/MoAlali)

  • تاريخ الاكتشاف: غير محدد في التقرير

  • معرّف CVE: CVE-2025-56380


🚀 إثبات المفهوم (PoC) — حقن SQL أعمى قائم على الوقت

اختبر فقط في بيئات مخولة/مختبرية. لا تشغّل الهجوم ضد أنظمة لا تملكها أو ليس لديك إذن صريح لاختبارها.

طلب إثبات المفهوم (مثال): صورة

root@kitploit:~
GET /api/method/frappe.client.get_value?doctype=Report&fieldname=ref_doctype+%2F+sleep(15)+&filters=Profit+and+Loss+Statement&_=1752174156893

خطوات التأكيد

  1. قم بالمصادقة على نسخة Frappe/ERPNext المستهدفة باستخدام مستخدم يمكنه الوصول إلى API الخاصة بالتقارير/get_value.
  2. أرسل طلب GET أعلاه (أو حمولة مكافئة مشفرة بعنوان URL).
  3. لاحظ زمن الاستجابة؛ إذا تأخرت الاستجابة بنحو 15 ثانية، فهذا يشير إلى نجاح الحقن القائم على الوقت.
  4. كرر نفس الطلب لتأكيد قابلية التكرار.
  5. أزل الحمولة المحقونة +%2F+sleep(15)+& ولاحظ أن الاستجابة تعود فورًا — مما يؤكد أن الحقن يسبب التأخير الزمني.

ملاحظات: استبدل sleep(15) بدوال تأخير زمني أخرى أو قيم زمنية مناسبة لنظام إدارة قواعد البيانات الخلفي (مثل pg_sleep(n) لـ PostgreSQL) اعتمادًا على محرك قاعدة البيانات. يوضح إثبات المفهوم الحقن الأعمى عبر التوقيت؛ ويمكن استخدام حمولات أكثر تعقيدًا لاستخراج البيانات بتًا بتًا.


🧪 نواقل الهجوم والأثر

  • ناقل الهجوم: يقوم مستخدم مصادق بتشكيل طلبات GET إلى /api/method/frappe.client.get_value مع معامل fieldname خبيث يحتوي على حمولات SQL (دوال تأخير زمني).

  • الأثر:

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

🔐 توصيات التخفيف

  1. الاستعلامات المُعلَّمة / البيانات المُعدّة مسبقًا (Prepared Statements): تأكد من أن fieldname وكل المدخلات المقدمة من المستخدم لا يتم تسلسلها مباشرة في SQL. استخدم الاستعلامات المُعلَّمة أو واجهات ORM التي تربط المعاملات بشكل صحيح.
  2. تحقق صارم من المدخلات / القوائم البيضاء: بالنسبة للمعاملات التي ينبغي أن تكون أسماء حقول أو معرّفات، تحقق منها مقابل قائمة سماح صارمة بأسماء الحقول الصالحة المعروفة أو استخدم تعيينًا من جانب الخادم بدلًا من قبول معرّفات حقول خام من العملاء.
  3. أفلت المعرّفات بأمان: إذا كان يجب استخدام المعرّفات ديناميكيًا، فاستخدم دوال اقتباس/إفلات معرّفات آمنة خاصة بقاعدة البيانات — مع الاستمرار في تقييد القيم المسموح بها.
  4. حساب قاعدة بيانات بأقل الصلاحيات: شغّل التطبيق بمستخدم قاعدة بيانات يمتلك الصلاحيات الضرورية فقط (للقراءة فقط حيثما أمكن بالنسبة لنقاط نهاية التقارير).
  5. تحديد المعدل والمراقبة: طبّق حدودًا لمعدل الطلبات واكشف أنماط الطلبات الشاذة أو اختبارات التأخير الزمني المتكررة؛ وأطلق تنبيهات على الحركة المرورية المشبوهة.
  6. التدقيق والتسجيل: سجّل الطلبات الموجهة إلى نقاط نهاية API الحساسة وراقب الحمولات المشبوهة (مثل sleep, pg_sleep, benchmark, /, ;).
  7. التصحيح والإصدار: يجب على مطوري Frappe/ERPNext مراجعة frappe.client.get_value ومسار الكود الذي يعالج fieldname/عوامل التصفية، واستبدال التسلسل غير الآمن بواجهات برمجة آمنة، وإصدار تصحيح أمني. ويجب على المشغلين تطبيق التحديثات فورًا.

🔗 المراجع

  • المكتشف / المُبلّغ: Mohammed Aloli — GitHub: https://github.com/MoAlali — X: https://x.com/alaliksa_ — LinkedIn: https://www.linkedin.com/in/mohammedaloli/
  • قاعدتا أكواد Frappe / ERPNext (للمراجعة والتصحيح): https://github.com/frappe/frappe , https://github.com/frappe/erpnext
  • إرشادات عامة حول حقن SQL: المرجع السريع لـ OWASP بشأن منع حقن SQL — https://cheatsheetseries.owasp.org/cheatsheets/SQL_Injection_Prevention_Cheat_Sheet.html

🙏 شكر وتقدير

اكتشفها Mohammed Aloli


📢 إخلاء مسؤولية

تُقدَّم هذه المعلومات لأغراض دفاعية ولمعالجة الثغرات فقط. لا تحاول استغلال هذه الثغرة ضد أنظمة لا تملكها أو ليس لديك تفويض صريح لاختبارها. يجب على المشغلين إعطاء الأولوية للتصحيح، وتطبيق إصلاحات البرمجة الآمنة، واتباع إرشادات التخفيف أعلاه.

تنزيل الأداة
  • الاختبار الأمني: أضف اختبارات آلية لكشف حقن SQL (بما في ذلك الحقن الأعمى القائم على الوقت) في نقاط نهاية API.