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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
element-ics-javascript — Element Web v1.12.29 - عالي - عن بُعد - XSS - رابط Univention ICS navigation.json يصبح javascript: menu href | Kitploit
أدوات/GitHubGitHub/abraxas/element-ics-javascript
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبأمن الويباختبار الاختراق
GitHubabraxas/element-ics-javascript

element-ics-javascript

Element Web v1.12.29 - عالي - عن بُعد - XSS - رابط Univention ICS navigation.json يصبح javascript: menu href

عرض المستودع
منذ 3 أياملم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

Abraxas Labs - element-ics-javascript

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  element-ics-javascript

element-ics-javascript

Element Web v1.12.29 - Element / New Vector

الفئة: XSS الوصول: عن بُعد

تقوم وحدة banner الخاصة بـ Univention بجلب ICS navigation.json، وتقبل link لكل مدخل كـ z.string() دون التحقق من المخطط، ويضع Menu.tsx تلك السلسلة على <a href> منسّق. يستخدم إعداد القائمة الثابت z.url() لـ link_url. مسار ICS لا يفعل ذلك. معاينة URL على نفس الإصدار ترفض بالفعل javascript: (previewFromBundle، GHSA-9r5h). هذا ليس app.element.io الافتراضي. يحتاج إلى modules/banner مع menu.type بقيمة univention، بالإضافة إلى ICS يثق به النشر.

أي شخص يمكنه تغيير navigation.json يزرع javascript: أو data:. مستخدم مسجّل الدخول يفتح قائمة banner وينقر على العنصر يشغّل سكربت على أصل Element.

IDلا يوجد CVE بعد
CWECWE-79 / CWE-20
CVSSمتوسط: 6.8 CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:H/I:H/A:N
المنتجElement Web
المتأثرv1.12.29 وسم v1.12.29 (2d90d6b7b601ecb9ccdf81239a43b4396b4b0c9e). مقيّد: Univention banner + ICS.
المصادقةمشغّل ICS / اختراق ICS. الضحية مستخدم مسجّل الدخول ينقر على عنصر القائمة.
الترخيصGNU Affero GPL v3.0
المختبر127.0.0.1 فقط

ما يمكن للمهاجم فعله

اختراق أو تشغيل ICS الذي يثق به نشر Element. ضع رابط javascript: (أو data:) في navigation.json. انتظر حتى يفتح مستخدم مسجّل الدخول قائمة banner وينقر على العنصر. هذا استيلاء على حساب Matrix: رمز الوصول، مخزن التشفير، الجلسة. ليس RCE على نظام التشغيل. لا يزال سطح المكتب لديه nodeIntegration معطّل و sandbox.

الصلاحيةالطريقة / الهدفالاستطلاع / السلامة / التوفرمُثبت مختبريًا أو مُستنتج
عرض <a href="javascript:…"> في قائمة banner على أصل ElementICS navigation.json entries[].link -> navigationToConfig link_url -> Menu.tsx LinkButton href={link.link_url}سلامة DOM للقائمةمُثبت مختبريًا. رابط ICS وهمي javascript:ELEMENT-ICS-JAVASCRIPT-WITNESS أصبح ذلك href. رابط بوابة https لا يزال يُعرض
تشغيل سكربت كأصل Element بعد النقرالضحية ينقر على عنصر القائمة (UI:R)السلامةمُستنتج من هدف href. لم يقم المختبر بتنفيذ نقرة متصفح أو سرقة رمز Matrix حي
قراءة رمز وصول Matrix / مخزن التشفير (الاستيلاء على الحساب)سكربت داخل الأصل مقابل جلسة localStorage / IndexedDBالاستطلاع / السلامةمُستنتج من XSS على أصل Element. شاهد المختبر هو سلسلة href
توجيه تبويب Element إلى صفحة تصيّدSilentLogin.tsx iframe غير معزول src={new URL("silent", icsUrl)}السلامةمُثبت مختبريًا أن الـ iframe لا يحتوي على sandbox. لم يتم اختبار التوجيه العلوي
نفس الزرع عبر data:z.string() يقبل أي مخططالسلامةمُستنتج. المختبر زرع javascript: فقط

مغلق على هذا الإصدار: app.element.io الافتراضي (لا يوجد Univention banner). RCE على نظام التشغيل / LPE (سطح المكتب nodeIntegration: false، sandbox، contextIsolation). XSS في HTML للجدول الزمني. javascript: في معاينة URL (GHSA-9r5h previewFromBundle يتطلب http:/https:). XSS في تصدير HTML (GHSA-wqmv). رمز وسائط Widget (GHSA-3jm3). link_url: z.url() في banner الثابت هو إعداد المشغّل، وليس ICS؛ z.url() أيضًا ليس قائمة سماح http/https.

بقايا نفس الإصدار: fragment guest wipe، vector: Windows drive-letter.

كيف وجدته

ثبّتت Element Web v1.12.29 بعد إصدار GitHub في 22 سبتمبر 2026. تعلّمت معاينة URL بالفعل http:/https: بالطريقة الصعبة. لا يزال link في Univention ICS هو z.string(). يستخدم إعداد القائمة الثابت z.url(). مسار الجلب لا يمر أبدًا عبر ذلك التحقق.

منعطفات خاطئة مسجّلة بالفعل: اعتبار app.element.io الافتراضي هو الضحية (Univention مقيّد)؛ اعتبار z.url() قائمة سماح للمخططات (مُنشئ URL يقبل javascript:)؛ تضخيم XSS بالنقر إلى RCE على نظام التشغيل. reverse shell. مسرحية.

المختبر

أداة لوظائف الإصدار بالإضافة إلى ICS وهمي navigation.json. ليس حاوية Element Web حية. how=gadget. تطبيق قائمة سماح http/https لمعاينة URL (previewFromBundle) أزال href الـ javascript وأبقى على رابط بوابة https.

python3 element-ics-javascript-Abraxas-Labs.py

أو

cd lab
./run.sh

استهدف فقط http://127.0.0.1:19620. مشروع Compose element-ics-javascript. يتم تفكيك الحزمة بعد التشغيل.

SUCCESS element-ics-javascript how=gadget href-scheme=javascript menu-a-javascript=yes allowlist-rejects=yes silent-no-sandbox=yes ELEMENT-ICS-JAVASCRIPT-WITNESS

الإصلاح

اسمح بـ http: و https: في ICS link بنفس الطريقة التي يفعلها previewFromBundle. ارفض javascript: و data: والمخططات الأخرى قبل href=. اعزل silent iframe (sandbox="" أو على الأقل بدون allow-top-navigation). لا تعامل z.url() كقائمة سماح للمخططات.

المراجع

  • github.com/element-hq/element-web وسم v1.12.29
  • navigation.ts
  • Menu.tsx
  • SilentLogin.tsx
  • قريب مُرقّع (ليس هذا href): GHSA-9r5h previewFromBundle
  • نفس الإصدار: element-fragment-guest · element-vector-drive-letter
  • CWE-79

الترخيص

GNU Affero GPL v3.0. انظر LICENSE. مختبر loopback فقط. بدون ضمان.

تنزيل الأداة