
ثغرة xss في أحدث إصدار من YZMCMS v3.7 CVE-2018-8078
ثغرة XSS في YZMCMS v3.7 (أحدث إصدار)
XSS مخزّنة في YZMCMS V3.7
توجد ثغرة XSS هذه في وحدة إدارة الإعلانات الجديدة المُضافة في v3.7، كما هو موضح في الشكل:
توجد ثغرة XSS هذه في وحدة إدارة الإعلانات الجديدة المُضافة في v3.7، كما هو موضح في الشكل:

يمكننا العثور على الكود المحدد لوظيفة تحرير إدارة الإعلانات في YzmCMS-V3.7\application\advertisement\controller\adver.class.php، في الأسطر من 55 إلى 70، كما هو موضح في الشكل:
يمكننا العثور على الكود المحدد لوظيفة تحرير إدارة الإعلانات في YzmCMS-V3.7\application\advertisement\controller\adver.class.php، في الأسطر من 55 إلى 70، كما هو موضح في الشكل:

من بينها، يتم استدعاء طريقة باسم getcode في السطر 59، ويتم تمرير مجموعة من المعاملات باستخدام طريقة POST، ونواصل متابعة هذه الطريقة. تُرجع هذه الطريقة قيمة $data[‘title’] دون إجراء أي تصفية، وتُعاد مباشرةً كمعامل إلى $POST_[‘code’]، كما هو موضح:
من بينها، يتم استدعاء طريقة باسم getcode في السطر 59، ويتم تمرير مجموعة من المعاملات باستخدام طريقة POST، ونواصل متابعة هذه الطريقة. تُرجع هذه الطريقة قيمة $data['title'] دون إجراء أي تصفية، وتُعاد مباشرةً كمعامل إلى $POST_[‘code’]، كما هو موضح:

نعود إلى طريقة edit ونواصل المتابعة. في طريقة edit توجد تعليمة include تتضمن ملفًا باسم adver_edit، كما هو موضح في الشكل:
نعود إلى طريقة edit ونواصل المتابعة. في طريقة edit توجد تعليمة include تتضمن ملفًا باسم adver_edit، كما هو موضح في الشكل:

يمكننا العثور على هذا الملف في المسار YzmCMS-V3.7\application\advertisement\view. ويمكننا أن نرى أنه حتى هذه النقطة لم يقم YzmCMS بأي تصفية للبيانات، بل يُخرجها مباشرةً إلى الصفحة، كما هو موضح في الشكل التالي:
يمكننا العثور على هذا الملف في المسار YzmCMS-V3.7\application\advertisement\view. ويمكننا أن نرى أنه حتى هذه النقطة لم يقم YzmCMS بأي تصفية للبيانات، بل يُخرجها مباشرةً إلى الصفحة، كما هو موضح في الشكل التالي:

يمكننا العثور على هذه الوظيفة في واجهة الإدارة الخلفية، كما هو موضح في الشكل:
يمكننا العثور على هذه الوظيفة في واجهة الإدارة الخلفية، كما هو موضح في الشكل:

بعد النقر على إرسال، يمكننا استخدام burp لاعتراض حزمة البيانات وتغيير title إلى ">، ثم النقر على إرسال، كما هو موضح:
بعد النقر على إرسال، يمكننا استخدام burp لاعتراض حزمة البيانات وتغيير title إلى ">، ثم النقر على إرسال، كما هو موضح:

نعود إلى واجهة إدارة الإعلانات ونقوم بالتحديث، وعندها يصبح مربع حوار XSS المنبثق مرئيًا، كما هو موضح:
نعود إلى واجهة إدارة الإعلانات ونقوم بالتحديث، وعندها يصبح مربع حوار XSS المنبثق مرئيًا، كما هو موضح:
