Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-90907 — واجهة سطر أوامر Python تكتشف وتستغل CVE-2026-90907، وهو تجاوز للتفويض في Joomla! com_users يتيح إنشاء حسابات دون مصادقة؛ مع وضع فحص غير تدميري بالإضافة إلى PoC. | Kitploit
أدوات/GitHubGitHub/aorozco-sys/cve-2026-90907
المصادقة والترخيصماسحات الثغرات الأمنيةتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبأمن الويباختبار الاختراق
GitHubaorozco-sys/cve-2026-90907

CVE-2026-90907

واجهة سطر أوامر Python تكتشف وتستغل CVE-2026-90907، وهو تجاوز للتفويض في Joomla! com_users يتيح إنشاء حسابات دون مصادقة؛ مع وضع فحص غير تدميري بالإضافة إلى PoC.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-90907 — إنشاء حساب مستخدم غير مصرّح به في Joomla! CMS

Python Severity Fixed

لأغراض الاختبار الأمني المصرّح به فقط. تشغيل وضع الاستغلال ضد أنظمة لا تملكها أو لا تملك إذنًا كتابيًا صريحًا لاختبارها غير قانوني. الوضع الافتراضي (CHECK) غير مدمّر ولا ينشئ أي شيء.

أداة سطر أوامر تكتشف و(اختياريًا، باستخدام -U) تستغل CVE-2026-90907، وهو تجاوز تفويض متوسط الخطورة (CVSS 6.9) في نواة Joomla! CMS يسمح لمهاجم بعيد غير مصادَق بإطلاق إنشاء حساب مستخدم غير مصرّح به عبر وحدة التحكم com_users → profile.save — حتى عندما يكون التسجيل العام معطّلًا في الإعدادات العامة.

ملخص الثغرة

الحقلالقيمة
معرّف CVECVE-2026-90907
الخطورةمتوسطة — CVSS 6.9
النوعتجاوز تفويض / تحكم غير سليم في الوصول (CWE-862)
المكوّنمكوّن com_users، مهمة profile.save
ناقل الهجومعن بُعد، غير مصادَق، POST من خطوتين في الجلسة نفسها
تم إصلاحه فيJoomla! 5.4.9 و 6.1.4 (إصدار أمني، 2026-09-29)

الإصدارات المتأثرة

وفقًا للنشرة الأمنية لـ Joomla! (2026-09-29) ومصادر الاستشارات العامة:

  • Joomla! 1.5.0 – 5.4.8
  • Joomla! 6.0.0 – 6.1.3

Joomla! 3.x متأثر أيضًا لكنه انتهى عمره الافتراضي: لن يتلقى تصحيحًا رسميًا — خطّط للترحيل. فحص لافتة الإصدار في الأداة للمعلومات فقط؛ الحكم نهائي سلوكي (انظر أدناه).

التأثير

الحساب الذي يتحكم به المهاجم هو حساب واجهة أمامية منخفض الصلاحيات بدون وصول إداري أو إلى الواجهة الخلفية. ومع ذلك، يتيح هذا للمهاجم:

  • إنشاء حسابات حتى عندما يكون التسجيل معطّلًا صراحةً
  • حجز أسماء المستخدمين / عناوين البريد الإلكتروني
  • إطلاق إضافات خطافات التسجيل بشكل غير متوقع
  • استكشاف منطق التطبيق الداخلي كجلسة مصادَق عليها

السبب الجذري

ProfileModel::save() يقوم فقط بـ unset() لـ $data['username'] عندما يُعتبر اسم المستخدم متوافقًا. يُشتق isUsernameCompliant من حالة المستخدم com_users.edit.profile.data، التي يملؤها المتحكم بـ الطلب الكامل عند فشل التحقق من النموذج. كما يفشل المتحكم في التحقق من حالة تسجيل الدخول للطلب الوارد. لذلك، ضمن جلسة زائر واحدة:

  1. W1 (التهيئة) — POST باسم مستخدم غير متوافق وبدون privacyconsent → يفشل التحقق → يُحفظ اسم المستخدم غير النظيف في حالة مستخدم الجلسة (لا يُنشأ أي شيء بعد).
  2. W2 (الاستغلال) — الجلسة نفسها، إعادة الإرسال باسم مستخدم نظيف مع jform[privacyconsent][privacy]=1 → يتم تجاوز حارس unset() → INSERT INTO #__users → إعادة توجيه 303 مع user_id > 0.
  3. التحقق التفاضلي من تسجيل الدخول — POST user.login (اسم الحقل هو password، وليس passwd) بكلمة المرور الصحيحة مقابل كلمة مرور خاطئة و قراءة رسالة الفلاش: صحيحة → "you cannot access the private section" (المصادقة ناجحة، قوائم التحكم في الوصول تحجب) / خاطئة → "do not match". الفرق هو الدليل.

التثبيت

git clone https://github.com/aorozco-sys/CVE-2026-90907.git
cd CVE-2026-90907
pip install -r requirements.txt   # only dependency: requests

الاستخدام

# CHECK mode (default) — non-destructive: never sends consent, never creates an account
python3 joomla_cve_2026_90907.py https://ejemplo.com

# Verbose CHECK (full request/response log on stderr)
python3 joomla_cve_2026_90907.py https://ejemplo.com --no-color -v

# EXPLOIT mode (-U) — creates a real account in #__users (authorized targets only!)
python3 joomla_cve_2026_90907.py https://ejemplo.com \
    -U audit.user -E [email protected] -N "CVE Audit"

# Through a proxy (e.g. Burp Suite) with a custom timeout
python3 joomla_cve_2026_90907.py https://ejemplo.com -U audit.user \
    --proxy http://127.0.0.1:8080 --timeout 30

# Exploit without the differential login verification
python3 joomla_cve_2026_90907.py https://ejemplo.com -U audit.user \
    --no-verify-login

المعاملات (Flags)

المعاملالوصف
TARGETعنوان URL الأساسي (مُطبَّع؛ بدون شرطة مائلة في النهاية)
-U/--usernameيُفعّل وضع EXPLOIT. بدون -U ← فحص CHECK غير مُدمِّر
-P/--passwordالافتراضي: يُولَّد باستخدام secrets، 16 حرفًا أبجديًا رقميًا + رموز، يُطبَع دائمًا
-E/--emailالافتراضي: <username>@example.invalid
-N/--nameالافتراضي: CVE Audit
-o/--outputدليل الأدلة (الافتراضي evidence_cve90907_<ts> ضمن cwd)
--proxy URLوكيل (proxy) للطلبات (Burp: http://127.0.0.1:8080)
--timeoutالافتراضي 20 ثانية
--uaUser-Agent (الافتراضي cve-2026-90907-audit/1.0)
--no-verify-loginيتخطى تفاضل تسجيل الدخول (وضع exploit)
--verify-sslالتحقق من TLS (الافتراضي: عدم التحقق)
--no-colorبدون ألوان ANSI
-v/--verboseسجل كامل للطلبات/الاستجابات على stderr

رموز الخروج (متوافقة مع CI)

الرمزالمعنى
0سليم / غير معرّض للثغرة / غير معروف
1معرّض للثغرة (LIKELY في وضع الفحص، CONFIRMED في وضع exploit)
2خطأ تشغيلي (شبكة، اعتمادية، إلخ)

الأحكام (Verdicts)

  • VULNERABLE (LIKELY) — الفحص: الرمز سليم + تمت معالجة W1 مجهولًا (303 مع profile في Location، دون إعادة توجيه إلى تسجيل الدخول) + رسالة خطأ تحقق (flash) (مثل رسالة اشتراط سياسة الخصوصية). التأكيد القاطع = وضع exploit.
  • NOT VULNERABLE (سلوكي) — W1 يعيد التوجيه إلى تسجيل الدخول أو يستجيب بـ 401/403/404: المعالجة المجهولة محظورة.
  • UNKNOWN — إشارات مفقودة (لا رمز، إصدار غير قابل للقراءة، إلخ). تُدرَج الفجوات على الطرفية وفي summary.json.
  • VULNERABLE (CONFIRMED) — exploit: Location يحتوي على user_id > 0 بعد W2.

عناصر الأدلة (Evidence artifacts)

يكتب كل تشغيل دليلًا مؤرَّخًا -o يحتوي على 00_token.txt، 01_version.txt، 02_w1_seed.txt، 03_w2_exploit.txt، 04_login_correct.txt، 05_login_wrong.txt وsummary.json. يسجّل كل ملف الطلب الكامل (REQUEST) (الطريقة/URL/الترويسات الرئيسية/النص)، والاستجابة (RESPONSE) (الحالة، Location، Server، رسالة flash المستخرجة، أول 500 بايت من النص) والطوابع الزمنية ISO — جاهزة للإرفاق بتقرير اختبار اختراق.

السلامة التشغيلية

  • وضع CHECK لا يرسل privacyconsent أبدًا ويستخدم اسم مستخدم غير مطابق (probe()): يفشل الحفظ بسبب قواعد النموذج ولا يُحفظ أي شيء.
  • حارس الإيقاف: إذا أعاد W1 في أي وقت user_id > 0 (وهو ما لا ينبغي أن يحدث)، يتوقف وضع exploit قبل W2.
  • بعد نجاح exploit تطبع الأداة تحذيرًا للتنظيف: احذف الحساب المُنشأ عبر Joomla Admin ← Users (وهذا يزيل أيضًا صف user_usergroup_map).

المعالجة (Remediation)

  • رقِّ نسخ الإنتاج إلى Joomla! 5.4.9 أو 6.1.4 فورًا.
  • في المواقع التي كان فيها التسجيل معطّلًا، رتّب مستخدمي الواجهة الخلفية حسب تاريخ التسجيل ودقّق المجموعة الافتراضية بحثًا عن حسابات غير معروفة أُنشئت قبل الترقيع.

المراجع

  • CVE-2026-90907 — NVD
  • CVE-2026-90907 — سجل CVE.org
  • نشرة أمان Joomla! / إصدار الأمان المنسّق 2026-09-29 (16 إصلاحًا، بما في ذلك هذا — مُصلَح في 5.4.9 و6.1.4)

الترخيص

MIT — راجع LICENSE.

تنزيل الأداة