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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
Exploit-CVE-2023-22518 — استغلال لثغرة CVE-2023-22518 في Atlassian Confluence. يوفر شرحًا تفصيليًا للثغرة، بما في ذلك إعداد البيئة، وتحليل السبب الجذري عبر المقارنة، وخطوات الاستغلال للحصول على وصول إداري. | Kitploit
أدوات/GitHubGitHub/lilly-dox/exploit-cve-2023-22518
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالتعلم والتعليممختبرات وتدريب عملي
GitHublilly-dox/exploit-cve-2023-22518

Exploit-CVE-2023-22518

استغلال لثغرة CVE-2023-22518 في Atlassian Confluence. يوفر شرحًا تفصيليًا للثغرة، بما في ذلك إعداد البيئة، وتحليل السبب الجذري عبر المقارنة، وخطوات الاستغلال للحصول على وصول إداري.

عرض المستودع
1منذ 2 سنواتلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

Exploit-CVE-2023-22518

CVE-2023-22518 في Confluence

CVE-2023-22518 : تم وصف هذه الثغرة بأنها "ثغرة في التفويض غير الصحيح في قاعدة البيانات وخوادم Confluence". تؤثر على الإصدارات المحلية (On-premises) من منتجات Atlassian.

إعداد البيئة استخدم الإصدار المصاب 8.0.4 رابط التحميل: https://product-downloads.atlassian.com/software/confluence/downloads/atlassian-confluence-8.0.4-x64.exe

1

اختر Trial Installation، ثم انقر على الرابط للحصول على مفتاح التجربة المجانية (free trial key). بعد ذلك قم بإعداد الكتلة (cluster): اختر non-cluster

2

بعد ذلك انتقل إلى إعداد قاعدة البيانات (setup database) -> اختر MySQL

3

اتبع الإرشادات:

  1. قم بتنزيل برنامج تشغيل MySQL (MySQL driver)
  2. ضع ملف .jar في /home/lily/atlassian/confluence/confluence/WEB-INF/lib
  3. أعد تشغيل Confluence وأكمل عملية الإعداد.

4

قم بتكوين قاعدة البيانات، وأنشئ المستخدم وكلمة مرور للجدول.

root@kitploit:~
CREATE DATABASE securedb CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
CREATE USER 'admin123'@'localhost' IDENTIFIED BY 'supersecure';
GRANT ALL PRIVILEGES ON securedb.* TO 'admin123'@'localhost';
GRANT SUPER ON *.* TO 'your_username'@'your_host';
FLUSH PRIVILEGES;

ثم قم بتعديل /etc/mysql/my.cnf. أضف الأسطر التالية:

root@kitploit:~
transaction-isolation = READ-COMMITTED
log_bin_trust_function_creators = 1

5

ثم أعد تشغيل MySQL وConfluence. بعد ذلك انتقل إلى صفحة الإعداد على localhost:8090 واستخدم قاعدة البيانات التي أنشأتها لملء البيانات.

6

تحقق من نجاح الاتصال، ثم انقر فوق Next. بعد ذلك قم بالتسجيل (Sign up).

7

Debug

*Diff قارن ملفي jar من الإصدارين عبر IntelliJ. على وجه التحديد، قمت بمقارنة الإصدارين 8.0.4 و7.19.16. وفقًا للوصف، قارن ملف confluence.jar من الإصدارين معًا.

image

الفرق بين النسخة المصححة والنسخة غير المصححة هو @WebSudoRequired و @SystemAdminOnly.

WebSudoRequired هي ميزة لتعزيز أمان جلسات المسؤول. عند محاولة الوصول إلى الإدارة (admin)، سيطلب النظام إعادة إدخال كلمة المرور حتى لو كنت مسجلًا بالفعل في النظام. تضيف خطوة مصادقة إضافية لضمان الوصول الإداري.

SystemAdminOnly: هي ميزة تقتصر وظائف الإدارة على حسابات المسؤولين فقط. وهذا يضمن أن الحسابات المصرح لها فقط هي القادرة على تنفيذ العمليات المهمة التي تؤثر على النظام.

ضع نقطة توقف (breakpoint) عند الدالة validate() في RestoreAction.class

Screenshot 2024-03-24 081621

الدالة التي تحفظ الملف المرفوع باستخدام getRestoreFileFromUpload

Screenshot (541)

يتم استخدام getExportDescriptor لفك ضغط (unzip) وقراءة محتويات ملف zip

Screenshot (542)

Screenshot (543)

ومع ذلك، بعد التصحيح (debug)، لم نتمكن بعد من العثور على السبب الجذري للثغرة.

السبب الموصوف في CVE هو ثغرة في التفويض. وهذا يقودنا إلى توجيه الاهتمام إلى الأبحاث حول ثغرات لغة Java أثناء عملية قيام المطورين بتحديد الصلاحيات.

نحوّل الانتباه إلى ملف struts.xml، حيث يحتوي هذا الملف على معلومات حول الإجراءات (actions) والتوجيه بناءً على مساحة الاسم (namespace) وكذلك المعترضات (interceptors).

Screenshot 2024-03-24 082951

Screenshot 2024-03-24 083107

Screenshot 2024-03-24 083206

9

نلاحظ أن مساحة الاسم /json تعزز وظائف مساحة الاسم /admin. لذلك، يمكن الوصول إلى المسارات المحددة لمساحة الاسم /admin أيضًا عبر مساحة الاسم /json.

في سياق مساحة الاسم /json، تتضمن عملية توجيه الطلب المرور عبر سلسلة من المعترضات (interceptors). أحد هذه المعترضات، المسمى WebSudoInterceptor، يقوم بإجراء فحص بناءً على URI الخاص بالطلب.

تحديدًا، يقوم WebSudoInterceptor بتنفيذ خطوات الفحص التالية:

إذا كان مسار الطلب هو /authenticate.action فسيتم تجاهله. إذا كان مسار الطلب هو /admin، فسيتحقق مما إذا كانت خاصية WebSudoNotRequired فارغة أم لا.

إذا تم إرسال طلب إلى '/json'، فسيتم تحويل الطلب إلى '/json/action' ليصل إلى '/setup/action' و'admin/action'. في هذه الثغرة، المسار الضعيف هو '/json/setup-restore.action?synchronous=true'.

التقط الطلب باستخدام Burp Suite، GET /json/setup-restore.action. ومع ذلك حصلنا على استجابة "Method Not Allowed". جرّب باستخدام POST /json/setup-restore.action?synchronous=true وحصلنا على استجابة 200.

10

11

ارفع الملف xmlexport-200123123001.zip

12

ثم تحقق من الاستجابة.

13

الآن يمكننا تسجيل الدخول باستخدام الحساب admin:admin

14

ونحصل على النتيجة التالية:

15

تنزيل الأداة