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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
poc-CVE-2019-9053 — PoC تعليمي بلغة Python 3 لثغرة CVE-2019-9053، وهي SQL Injection من نوع time-based blind في CMS Made Simple <= 2.2.9. تم تكييف هذا الإصدار للاستخدام في بيئات CTF/المختبرات، مع بادئات مُهيأة مسبقاً لتقليل وقت استخراج البيانات ورسائل توضيحية باللغة البرتغالية. | Kitploit
أدوات/GitHubGitHub/rideckszz/poc-cve-2019-9053
كسر كلمات المرورتحليل الثغرات الأمنيةاستغلال تطبيقات الويبCTFالتعلم والتعليممختبرات وتدريب عملي
GitHubrideckszz/poc-cve-2019-9053

poc-CVE-2019-9053

PoC تعليمي بلغة Python 3 لثغرة CVE-2019-9053، وهي SQL Injection من نوع time-based blind في CMS Made Simple <= 2.2.9. تم تكييف هذا الإصدار للاستخدام في بيئات CTF/المختبرات، مع بادئات مُهيأة مسبقاً لتقليل وقت استخراج البيانات ورسائل توضيحية باللغة البرتغالية.

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
عرض المستودع
1منذ 2 أشهرلم تتم المراجعة بعد

PoC CVE-2019-9053 - حقن SQL في CMS Made Simple

PoC تعليمي بلغة Python 3 لثغرة CVE-2019-9053، وهي ثغرة حقن SQL أعمى قائم على الزمن (time-based blind SQL Injection) في CMS Made Simple <= 2.2.9.

تم تعديل هذه النسخة للاستخدام في CTF/المختبرات. تتضمن بادئات مكوّنة مسبقًا لتقليل وقت الاستخراج ورسائل توضيحية بالبرتغالية لمساعدة الطلاب على فهم آلية عمل الاستغلال (exploit).

تنبيه

هذا المشروع مخصص حصريًا للأغراض التعليمية والمختبرات الخاضعة للرقابة وبيئات CTF.

لا تستخدم هذا الكود ضد أنظمة تابعة لأطراف أخرى دون إذن صريح.

لا يتحمل مؤلف هذا المستودع أي مسؤولية عن إساءة استخدام هذه المادة.

الثغرة

تؤثر CVE-2019-9053 على الإصدارات القديمة من CMS Made Simple، مما يسمح بحقن SQL غير مصادَق عبر المعامل m1_idlist في نقطة النهاية:

root@kitploit:~
/moduleinterface.php?mact=News,m1_,default,0

نظرًا لأن استجابة استعلام SQL لا تظهر مباشرة في الصفحة، يستخدم الاستغلال تقنية تسمى حقن SQL الأعمى القائم على الزمن (time-based blind SQL Injection).

كيف يعمل الاستغلال

يرسل الاستغلال حمولات (payloads) تجعل قاعدة البيانات تنفذ sleep(1) عندما يكون الشرط صحيحًا.

مثال مفاهيمي:

root@kitploit:~
AND (
  SELECT sleep(1)
  FROM cms_users
  WHERE password LIKE '0c01%'
)

إذا تأخر الخادم في الاستجابة، يفهم السكربت أن البادئة المختبرة صحيحة.

وبالتالي، يعيد بناء المعلومات الحساسة حرفًا بحرف، مثل:

  • ملح (Salt) كلمة المرور
  • اسم المستخدم
  • البريد الإلكتروني
  • تجزئة (Hash) كلمة المرور

في نسخة CTF هذه، تم تضمين بعض البادئات في الكود لتقليل الوقت اللازم أثناء النشاط.

ما هو حقن SQL الأعمى القائم على الزمن؟

يحدث حقن SQL عندما تُدخل التطبيقات بيانات يتحكم فيها المستخدم داخل استعلام SQL دون معالجة مناسبة.

في هذه الحالة، يكون الحقن أعمى (blind) لأن نتيجة الاستعلام لا تظهر مباشرة في استجابة HTTP.

وهو قائم على الزمن (time-based) لأن المهاجم يستخدم زمن استجابة الخادم كقناة للرد. إذا كان الشرط المختبر صحيحًا، تنفذ قاعدة البيانات تأخيرًا عبر sleep(). وإذا كان خاطئًا، تأتي الاستجابة بشكل طبيعي.

مثال مبسط:

root@kitploit:~
Pergunta feita pelo exploit:
"O hash da senha começa com 0c01?"

Se sim:
O banco executa sleep(1), e a resposta demora.

Se não:
A resposta vem sem atraso perceptível.

من خلال تكرار هذه العملية حرفًا بحرف، يتمكن الاستغلال من إعادة بناء قيم قاعدة البيانات حتى دون رؤيتها مباشرة في الصفحة.

ما هو الملح (Salt)؟

الملح (Salt) هو قيمة إضافية تُستخدم مع كلمة المرور قبل توليد التجزئة (Hash).

في هذا التحدي، يستخدم CMS Made Simple منطقًا مشابهًا لما يلي:

root@kitploit:~
md5(salt + password)

على سبيل المثال:

root@kitploit:~
salt = 1dac0d92e9fa6bb2
password = exemplo123

سيتم حساب التجزئة انطلاقًا من:

root@kitploit:~
1dac0d92e9fa6bb2exemplo123

يعمل الملح على صعوبة الهجمات المعتمدة على الجداول المحسوبة مسبقًا، ويجعل كلمات المرور المتطابقة تولّد تجزئات مختلفة في سياقات مختلفة.

على الرغم من ذلك، يُعد md5(salt + password) طريقة قديمة وضعيفة لتخزين كلمات المرور. يجب على الأنظمة الحديثة استخدام خوارزميات مخصصة لكلمات المرور، مثل:

  • Argon2
  • bcrypt
  • scrypt
  • PBKDF2

تعديلات نسخة CTF هذه

تم تكييف هذه النسخة لتسهيل الاستخدام في نشاط عملي.

أبرز التغييرات:

  • تحديث الكود إلى Python 3.
  • لافتة توضيحية بالبرتغالية.
  • شرح موجز في الطرفية حول آلية عمل الاستغلال.
  • بادئات معروفة لتسريع الاستخراج.
  • مجموعة محارف (charset) مُحسّنة للملح والتجزئة بالنظام الست عشري.
  • حد أقصى لحجم الملح والتجزئة.
  • خيار كسر كلمة المرور باستخدام قائمة كلمات (wordlist).

القيم المستخدمة في التحدي:

root@kitploit:~
Salt completo: 1dac0d92e9fa6bb2
Username: mitch
Email: [email protected]
Hash completo: 0c01f4468bd75d7a84c7eb73846e8d96

البادئات المكوّنة في الاستغلال:

root@kitploit:~
Salt prefix: 1dac0d92
Username prefix: mit
Email prefix: admin@
Hash prefix: 0c01f446

لا تزيل هذه البادئات منطق الهجوم. إنها تقلل فقط من الوقت اللازم للنشاط في المختبر.

بنية المستودع

root@kitploit:~
poc-CVE-2019-9053/
├── exploit_ctf.py
├── requirements.txt
├── README.md
├── wordlist-example.txt
└── .gitignore

المتطلبات

  • Python 3
  • requests
  • termcolor

التثبيت

استنسخ المستودع:

root@kitploit:~
git clone https://github.com/SEU_USUARIO/poc-CVE-2019-9053.git
cd poc-CVE-2019-9053

أنشئ بيئة افتراضية:

root@kitploit:~
python3 -m venv .venv

فعّل البيئة الافتراضية:

root@kitploit:~
source .venv/bin/activate

ثبّت التبعيات:

root@kitploit:~
pip install -r requirements.txt

requirements.txt

يجب أن يحتوي ملف requirements.txt على:

root@kitploit:~
requests
termcolor

الاستخدام

تشغيل بسيط:

root@kitploit:~
python3 exploit_ctf.py -u http://target/cms

تشغيل مع محاولة كسر كلمة المرور باستخدام قائمة كلمات:

root@kitploit:~
python3 exploit_ctf.py -u http://target/cms --crack -w wordlist-example.txt

عرض مساعدة السكربت:

root@kitploit:~
python3 exploit_ctf.py -h

مثال على قائمة الكلمات

يمكن أن يحتوي ملف wordlist-example.txt على:

root@kitploit:~
wrongpassword
admin123
dieema123
password
123456

مثال على المخرجات المتوقعة

root@kitploit:~
[+] Salt da senha encontrado: 1dac0d92e9fa6bb2
[+] Username encontrado: mitch
[+] Email encontrado: [email protected]
[+] Hash da senha encontrado: 0c01f4468bd75d7a84c7eb73846e8d96
[+] Senha encontrada: dieema123

شرح عملية الكسر (Cracking)

بعد أن يستخرج الاستغلال ملح كلمة المرور والتجزئة، يمكنه محاولة اكتشاف كلمة المرور كنص صريح باستخدام قائمة كلمات.

المنطق المختبر هو:

root@kitploit:~
md5(salt + senha_candidata)

لكل كلمة مرور في قائمة الكلمات، يحسب السكربت التجزئة ويقارنها بالتجزئة المستخرجة من قاعدة البيانات.

مثال مفاهيمي:

root@kitploit:~
candidate_hash = md5("1dac0d92e9fa6bb2" + "dieema123")

إذا كانت النتيجة مساوية للتجزئة المستخرجة، فقد تم العثور على كلمة المرور.

ملاحظات حول زمن التنفيذ

عادةً ما يكون حقن SQL القائم على الزمن بطيئًا، لأن كل حرف يجب اختباره عبر عدة طلبات.

تعمل هذه النسخة على تقليل الوقت باستخدام:

  • بادئات معروفة.
  • مجموعة محارف ست عشرية للملح والتجزئة.
  • حجم أقصى معروف للملح والتجزئة.
  • تأخير قدره ثانية واحدة لكل حرف صحيح.

ومع ذلك، قد يختلف الوقت وفقًا لما يلي:

  • زمن استجابة الشبكة.
  • حمل الخادم.
  • أداء قاعدة البيانات.
  • القيمة المكوّنة في TIME_DELAY.

إذا كان هناك الكثير من الإيجابيات الكاذبة أو السلبيات الكاذبة، فزد قيمة TIME_DELAY في الكود.

الاعتمادات

نسخة Python 3 المعدّلة لمسابقات CTF بواسطة Derick G. Andrighetti.

مبنية على PoC عام قديم بلغة Python 2 نُشر في الأصل بواسطة Daniele Scanu من Certimeter Group.

المرجع

  • CVE-2019-9053
  • CMS Made Simple <= 2.2.9
  • التقنية: حقن SQL الأعمى القائم على الزمن (time-based blind SQL Injection)

الترخيص

استخدام تعليمي.

أُنتجت هذه المادة لأغراض الدراسة والعرض في المختبر وأنشطة CTF.

تنزيل الأداة