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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2024-51482-POC — إثبات مفهوم حقن SQL زمني للثغرة CVE-2024-51482 في ZoneMinder، مع مختبر Docker قابل للتكرار واستخراج بيانات آلي. | Kitploit
أدوات/GitHubGitHub/0xdaeras/cve-2024-51482-poc
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالتعلم والتعليمأمن قواعد البياناتمختبرات وتدريب عملي
GitHub0xdaeras/cve-2024-51482-poc

CVE-2024-51482-POC

إثبات مفهوم حقن SQL زمني للثغرة CVE-2024-51482 في ZoneMinder، مع مختبر Docker قابل للتكرار واستخراج بيانات آلي.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

ZoneMinder Authenticated Time Based SQLi POC - CVE-2024-51482

CVE-1 CVSS Python

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


جدول المحتويات

  • ZoneMinder Authenticated Time Based SQLi POC - CVE-2024-51482
    • جدول المحتويات
    • نظرة عامة
    • تفاصيل الثغرة
      • CVE-2024-51482 — حقن SQL أعمى قائم على الوقت
      • السبب الجذري
      • تدفق الهجوم
    • هيكل المستودع
    • المتطلبات
    • التثبيت
      • PoC
      • مختبر Docker
    • الاستخدام
      • السلوك الافتراضي
      • شاشة المساعدة
      • الأوامر
      • خيارات الإخراج
      • مرجع الأعلام
      • مثال كامل
      • ملاحظات
      • مختبر Docker
    • مثال على الإخراج
    • المعالجة
      • ضد هذه CVE
      • ضد الثغرات المماثلة
    • الجدول الزمني للإفصاح
    • المراجع

نظرة عامة

يحتوي هذا المستودع على PoC لحقن SQL قائم على الوقت يستهدف ZoneMinder.

تتيح الأداة ما يلي:

  • التحقق من وجود الثغرة
  • تعداد قاعدة البيانات
  • اكتشاف الجداول والأعمدة
  • تفريغ الجداول بالكامل
  • التصدير إلى CSV

كما تتضمن مختبر Docker قابل للتكرار بالكامل للاختبار الآمن.


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

CVE-2024-51482 — حقن SQL أعمى قائم على الوقت

  • CVE ID: CVE-2024-51482
  • CVSS v3.1 Score: 10.0 (Critical)
  • نوع الثغرة: حقن SQL أعمى قائم على الوقت
  • الإصدارات المتأثرة: ZoneMinder v1.37.* <= 1.37.64
  • ناقل الهجوم: نقطة نهاية موثقة (removetag)
  • التأثير: الكشف الكامل عن قاعدة البيانات، المساس بسلامة البيانات
  • المصادقة المطلوبة: نعم (مستخدم ذو صلاحيات منخفضة كافٍ)

السبب الجذري

ZoneMinder هو تطبيق برمجي مجاني ومفتوح المصدر للدوائر التلفزيونية المغلقة. تنشأ الثغرة من التحقق غير الكافي من المدخلات في نقطة النهاية removetag في ZoneMinder. يتم تضمين المدخلات التي يوفرها المستخدم مباشرة في استعلامات SQL دون تطهير أو معاملات مناسبة، مما يسمح للمهاجمين بحقن حمولات SQL قائمة على القيم المنطقية. يستغل الاستغلال:

SLEEP(x - IF(condition, 0, x))

لاستنتاج البيانات عبر توقيت الاستجابة.

مقطع الكود الثغري الكامل من نصيحة الصيانة على Github:

case 'removetag' :
    $tagId = $_REQUEST['tid'];
    dbQuery('DELETE FROM Events_Tags WHERE TagId = ? AND EventId = ?', array($tagId, $_REQUEST['id']));
    $sql = "SELECT * FROM Events_Tags WHERE TagId = $tagId";
    $rowCount = dbNumRows($sql);
    if ($rowCount < 1) {
      $sql = 'DELETE FROM Tags WHERE Id = ?';
      $values = array($_REQUEST['tid']);
      $response = dbNumRows($sql, $values);
      ajaxResponse(array('response'=>$response));
    }

تدفق الهجوم

Attacker                              ZoneMinder Web App
   │                                         │
   │  [مصادقة]                               │
   │  POST /zm/index.php                     │
   │  {username, password}                   │
   │────────────────────────────────────────►│
   │◄────────────────────────────────────────│
   │  200 OK + Set-Cookie: ZMSESSID=...      │  ← جلسة موثقة
   │                                         │
   │  [CVE-2024-51482]                       │
   │  GET /zm/index.php                      │
   │  ?view=request&request=event            │
   │  &action=removetag&tid=<payload>        │
   │────────────────────────────────────────►│
   │                               استعلام SQL منطقي تم تنفيذه
   │                               IF(condition, no delay, SLEEP)
   │◄────────────────────────────────────────│
   │  استجابة متأخرة (أوراكل التوقيت)        │  ← تم استنتاج الشرط
   │                                         │
   │  تكرار الطلبات                          │
   │  ASCII(SUBSTRING(query,pos,1))          │
   │────────────────────────────────────────►│
   │◄────────────────────────────────────────│
   │  اختلافات التوقيت تكشف الأحرف           │
   │                                         │
   │  بحث ثنائي لكل حرف                      │
   │────────────────────────────────────────►│
   │◄────────────────────────────────────────│
   │  بيانات مستخرجة (حرف واحد في كل مرة)   │
   │                                         │
   │  SELECT Username, Password FROM Users   │
   │────────────────────────────────────────►│
   │◄────────────────────────────────────────│
   │  الكشف الكامل عن قاعدة البيانات         │
   │                                         │
   ✓  تسريب كامل للبيانات عبر SQL أعمى

هيكل المستودع

CVE-2024-51482/
├── exploit.py
├── README.md
├── requirements.txt
├── docker-compose.yml
├── .env.example
├── docker/
│   ├── Dockerfile
│   └── entrypoint.sh
└── logs/

المتطلبات

  • Python 3.8+
  • requests
  • Docker و docker-compose (لبيئة المختبر)

التثبيت

PoC

git clone https://github.com/0xDaeras/CVE-2024-51482-POC.git
cd CVE-2024-51482-POC
pip install -r requirements.txt

مختبر Docker

git clone https://github.com/0xDaeras/CVE-2024-51482-POC.git
cd CVE-2024-51482-POC
cp .env.example .env  # تكوين متغيرات البيئة
docker compose up -d

الاستخدام

السلوك الافتراضي

بدون أي أعلام، ستقوم الأداة بالمصادقة على الهدف، والتحقق من وجود الثغرة، وإذا كانت قابلة للاستغلال، ستقوم بتفريغ الأعمدة ID, Username, Password, Name و Email من جدول zm.Users (أمر dump-users).

python exploit.py -t http://target/zm -u <username> -p <password>

شاشة المساعدة

python exploit.py -h

الأوامر

check

للتحقق فقط مما إذا كان الهدف قابلاً للاستغلال.

python exploit.py -t http://target/zm -u <username> -p <password> check

dump-users

يقوم بتفريغ الأعمدة ID, Username, Password, Name و Email من جدول zm.Users. الأمر الافتراضي إذا لم يتم تحديد أي أمر.

python exploit.py -t http://target/zm -u <username> -p <password> dump-users

list-db

يعرض جميع قواعد البيانات.

python exploit.py -t http://target/zm -u <username> -p <password> list-db

list-tables

يعرض الجداول في قاعدة بيانات محددة.

python exploit.py -t http://target/zm -u <username> -p <password> list-tables --db <database>

list-columns

يعرض الأعمدة في جدول محدد.

python exploit.py -t http://target/zm -u <username> -p <password> list-columns --db <database> --table <table>

dump-table

يقوم بتفريغ جميع البيانات من جدول محدد.

python exploit.py -t http://target/zm -u <username> -p <password> dump-table --db <database> --table <table>

يمكنك أيضًا تحديد الأعمدة المراد تفريغها (الافتراضي هو الكل):

python exploit.py -t http://target/zm -u <username> -p <password> dump-table --db <database> --table <table> --columns col1,col2

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

تعطيل الإخراج الطرفي

--no-display

التصدير إلى CSV

إذا لم يكن الملف موجودًا، فسيتم إنشاؤه. إذا كان موجودًا بالفعل، سيتم إضافة النتائج الجديدة إليه.

--outfile results.csv

مرجع الأعلام

الهدف والمصادقة

تنزيل الأداة