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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
drupal-htmx-attr — دروبال 11.4.8 - عالية - عن بُعد - XSS - لا يزال AttributeXss يسمح بسمات HTMX | Kitploit
أدوات/GitHubGitHub/abraxas/drupal-htmx-attr
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبأمن الويباختبار الاختراقمختبرات وتدريب عملي
GitHubabraxas/drupal-htmx-attr

drupal-htmx-attr

دروبال 11.4.8 - عالية - عن بُعد - XSS - لا يزال AttributeXss يسمح بسمات HTMX

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

الأكثر شعبية

عرض الكل →

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

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

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

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

Abraxas Labs - drupal-htmx-attr

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  drupal-htmx-attr

drupal-htmx-attr

الفئة: XSS مخزّن الوصول: عن بُعد

نواة Drupal 11.4.8 (61044508) - Drupal

SA-CORE-2026-011 أغلق سمات HTMX في Xss::attributes(). تمر سمات الروابط والقوائم عبر AttributeXss::sanitizeAttributes، وقائمة التخطي تلك لا تزال تُسقط style و on* فقط.

محرر محتوى يستطيع تعيين حقل Link (أو رابط قائمة) يمكنه تخزين hx-on-click أو data-hx-on-click. تحمّل Standard مع BigPipe الوحدة core/htmx. عندما يفتح مسؤول أو أي مشاهد آخر تلك العقدة وينقر على الرابط، يشغّل HTMX جافاسكربت المخزّن في أصل الموقع.

المعرّفلا يوجد CVE بعد
الفئةXSS مخزّن (سمات أحداث HTMX)
الوصولعن بُعد (كاتب حقل Link / قائمة موثّق؛ الضحية يشاهد وينقر)
CWECWE-79
CVSSمرتفع: 8.7 CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N
المنتجنواة Drupal
المتأثر11.4.8 (61044508071749629aaf3380aa85971e94df9e84)
المصادقةمستخدم موثّق يستطيع كتابة حقل Link (أو رابط قائمة). الضحية يشاهد الصفحة وينقر.
الترخيصGNU Affero GPL v3.0
المختبر127.0.0.1 فقط

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

الكاتب: محرر محتوى يستطيع تعيين options.attributes للرابط (حقل Link، رابط قائمة، JSON:API). الضحية: أي شخص تُحمّل صفحته HTMX (تحمّل Standard مع BigPipe الوحدة core/htmx)، بما في ذلك مسؤول الموقع الذي ينقر على الرابط.

الصلاحيةالطريقة / المسارالنوعمُثبت مختبريًا أو مُستنتج
تخزين سمات أحداث HTMX على رابطPOST /jsonapi/node/article مع field_link.options.attributes.hx-on-click و data-hx-on-clickسلامة الحقل المخزّنمُثبت مختبريًا. JSON:API 201، السمات المخزّنة لا تزال تحتوي على hx-on-click
طباعة تلك السمات على <a> الخاص بالعقدةLinkFormatter -> AttributeXss::sanitizeAttributesسلامة HTMLمُثبت مختبريًا. GET /node/1 HTML يحتوي على hx-on-click والعلامة window['DRUPAL-HTMX-ATTR-WITNESS']=1
تشغيل ذلك JS في أصل الضحية عند النقريربط HTMX hx-on-*سلامة جلسة الضحيةمُستنتج من HTMX + تحميل الصفحة لـ core/htmx. لم يقُد المختبر نقرة متصفح
التصرف كمشاهد (كوكي الجلسة، نقرات واجهة المسؤول)نفس XSS المخزّنسلامة جلسة الضحيةمُستنتج. يتوقف المختبر عند بقاء السمة في HTML
سلبي: Xss::filterXss::filter('<a ... hx-on-click=...>')مغلقمُثبت مختبريًا مغلق. xss_keeps_hx=False
كتابة الرابط دون مصادقةJSON:API بدون جلسةمغلقسجّل المختبر الدخول كـ uid 1 أولاً. لا يستطيع غريب بلا حساب تعيين الحقل
PHP RCE / LPEلا ينطبقمغلقهذه البقايا هي جافاسكربت المتصفح، وليست PHP على الخادم

نفس بقايا التثبيت: Move Block sibling markup.

كيف وجدته

ثبّتت drupal/drupal 11.4.8 بعد SA-CORE-2026-011. خمس عمليات بحث: XSS/HTMX، file/MIME/oEmbed، JSON:API/unserialize/SQLi، auth/CSRF/Host، REST/media/Views. تبقى JSON:API access، ومفاتيح IN في EntityQuery (SA-004)، وPOI للحقول المتسلسلة (SA-005)، وrebuild.php Host (SA-007) مُرقّعة. قائمة تخطي HTMX وردت في Xss.php فقط.

$skip = (
  in_array($attribute_name, ['style', 'srcdoc']) ||
  str_starts_with($attribute_name, 'on') ||
  str_starts_with($attribute_name, 'data-hx') ||
  str_starts_with($attribute_name, 'hx') ||
  str_starts_with($attribute_name, '-') ||
  strlen($attribute_name) > 96
);

بقايا AttributeXss.php:

$skip = (
  $attribute_name == 'style' ||
  str_starts_with($attribute_name, 'on') ||
  str_starts_with($attribute_name, '-') ||
  strlen($attribute_name) > 96
);

تشمل المستدعين LinkFormatter.php و MenuLinkContent::getUrlObject().

منعطفات خاطئة مسجّلة مسبقًا: اعتبار Xss::filter هو البقايا (إنه الضابط)؛ كتابة JSON:API دون مصادقة؛ PHP RCE؛ reverse shell. مسرح. الدليل هو بقاء السمة في HTML العقدة بالإضافة إلى تحميل core/htmx.

المختبر

python3 drupal-htmx-attr-Abraxas-Labs.py

أو

cd lab
./run.sh

استهدف فقط http://127.0.0.1:19480. drupal:11.4.8-apache مباشر، ملف Standard، كتابة JSON:API مُفعّلة للمختبر. مشروع Compose drupal-htmx-attr.

SUCCESS drupal-htmx-attr how=live write=jsonapi nid=1 hx-on-click=kept jsonapi-stored=1 xss-filter=stripped htmx=loaded marker=1 version=11.4.8 DRUPAL-HTMX-ATTR-WITNESS

الإصلاح

انسخ قائمة الحظر hx / data-hx / srcdoc إلى AttributeXss. ادمجها في Xss كما يقول docblock الفئة بالفعل.

المراجع

  • github.com/drupal/drupal وسم 11.4.8 (61044508071749629aaf3380aa85971e94df9e84)
  • AttributeXss.php · Xss.php
  • مُرقّع قريب: SA-CORE-2026-011
  • نفس التثبيت: drupal-move-block-markup
  • CWE-79

الترخيص

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

تنزيل الأداة