
بيئة مختبر معبأة في حاويات لمحاكاة واستغلال ثغرة DOM-based XSS (CVE-2021-24891) في إضافة Elementor لـ WordPress لأغراض التعليم الأمني العملي.
بيئة مختبرية حاوية عملية لمحاكاة واستغلال ثغرة أمنية من نوع DOM-based Cross-Site Scripting (XSS) في إضافة Elementor Website Builder الخاصة بووردبريس، والتي تم تحديدها بـ CVE-2021-24891.
يوضح هذا المختبر ثغرة DOM-based Cross-Site Scripting (XSS) في إضافة Elementor لووردبريس (الإصدارات الأقدم من 3.4.8). تحدث الثغرة لأن الكود من جانب العميل في محرر Elementor يقرأ البيانات مباشرة من تجزئة عنوان URL (#...) ويدرجها في نموذج كائن المستند (DOM) للصفحة دون تعقيم مناسب.
يمكن للمهاجم إنشاء رابط ضار يحتوي على حمولة JavaScript في تجزئة عنوان URL. عندما ينقر مسؤول مسجل الدخول (مثل محرر الموقع) على هذا الرابط، يتم تنفيذ النص البرمجي الضار في سياق جلسة المتصفح الخاصة به، مما قد يسمح للمهاجم بتنفيذ إجراءات نيابة عنه، أو سرقة ملفات تعريف الارتباط للجلسة، أو تشويه موقع الويب.
#، والذي تتم معالجته من جانب العميل ولا يُرسل إلى الخادم. هذه هي نقطة الدخول للحمولة الضارة.يحتوي هذا المستودع على نسخة ضعيفة من ووردبريس مع إضافة Elementor المتأثرة، جاهزة للاستغلال. يمكن تشغيل المختبر فورًا في السحابة أو على جهازك المحلي.
هذه هي أسهل طريقة للبدء. توفر بيئة سحابية مُعدة مسبقًا في متصفحك.
تشغيل Codespace: انقر على شارة "Open in GitHub Codespaces" في أعلى ملف README هذا.
انتظر الإعداد: سيقوم GitHub بتحضير البيئة. بمجرد الانتهاء، سيظهر طرفية.
بدء الخدمات الضعيفة: في طرفية VS Code، قم بتشغيل الأمر الفردي التالي:
docker compose up
سيؤدي هذا إلى بدء موقع ووردبريس الضعيف وقاعدة البيانات الخاصة به. ستظهر علامة تبويب "Ports". انقر على رابط المنفذ 8080 لفتح ووردبريس في علامة تبويب متصفح جديدة.
قم بتشغيل المختبر بالكامل على جهازك باستخدام Docker.
المتطلبات الأساسية:
التعليمات:
استنساخ المستودع:
git clone https://github.com/hackmelocal/CVE-2021-24891-Simulation.git
cd CVE-2021-24891-Simulation
بدء الخدمات الضعيفة: في الطرفية، قم بتشغيل الأمر:
docker compose up
الوصول إلى ووردبريس: افتح متصفح الويب وانتقل إلى http://localhost:8080.
يقرأ كود JavaScript داخل محرر Elementor القيمة من window.location.hash ويكتبها بشكل غير آمن إلى DOM الصفحة. نظرًا لأن الإدخال (<script>alert(...)</script>) لم يتم تعقيمه، يفسره المتصفح كعلامة نصية صالحة وينفذها. هذا مثال كلاسيكي على DOM-based XSS.
تم توفير هذا المختبر للأغراض التعليمية فقط. ليس المنشئ مسؤولاً عن أي إساءة استخدام للمعلومات أو الأدوات المقدمة. تأكد دائمًا من حصولك على الإذن المناسب قبل إجراء أي اختبار أمني.
هذا المشروع مرخص بموجب ترخيص MIT. راجع ملف LICENSE للحصول على التفاصيل.