في منصة التجارة الإلكترونية المفتوحة
تتيح إحدى المشكلات لمستخدم غير مصادق تحقيق موضع كود JavaScript (XSS) ، والذي يمكن تنفيذه عند عرض محفوظات عمليات الشراء الملغاة في واجهة المسؤول. يتمثل جوهر الثغرة الأمنية في القدرة على تجاوز عملية تنظيف النص باستخدام وظيفة escapeHtmlWithLinks () عند معالجة ملاحظة في نموذج الإلغاء على شاشة بدء السداد (باستخدام علامة "a href = http: // onmouseover = ..." المتداخلة في علامة أخرى). تتجلى المشكلة عند استخدام الوحدة المدمجة Authorize.Net ، والتي تُستخدم لقبول المدفوعات عن طريق بطاقات الائتمان.
للحصول على تحكم كامل باستخدام كود JavaScript في سياق الجلسة الحالية لموظف المتجر ، يتم استغلال ثغرة ثانية ، والتي تسمح بتحميل ملف phar متخفي كصورة (
ومن المثير للاهتمام ، أنه تم إرسال معلومات حول مشكلة XSS إلى مطوري Magento مرة أخرى في سبتمبر 2018 ، وبعد ذلك تم إصدار تصحيح في نهاية نوفمبر ، والذي ، كما اتضح ، يلغي فقط حالة واحدة من الحالات الخاصة ويمكن تجاوزه بسهولة. في يناير ، تم الإبلاغ أيضًا عن إمكانية تنزيل ملف Phar تحت ستار صورة وتم توضيح كيف يمكن استخدام مزيج من الثغرات الأمنية لخرق المتاجر عبر الإنترنت. في نهاية شهر مارس في Magento 2.3.1 ،
قام 2.2.8 و 2.1.17 بإصلاح المشكلة مع ملفات Phar لكنهم نسوا إصلاح XSS على الرغم من إغلاق بطاقة الإصدار. في أبريل ، تم استئناف تحليل XSS وتم إصلاح المشكلة في الإصدارات 2.3.2 و 2.2.9 و 2.1.18.
وتجدر الإشارة إلى أن هذه الإصدارات أصلحت أيضًا 75 نقطة ضعف ، 16 منها تم تصنيفها على أنها حرجة ، و 20 مشكلة يمكن أن تؤدي إلى تنفيذ كود PHP أو استبدال SQL. لا يمكن تنفيذ معظم المشكلات الحرجة إلا بواسطة مستخدم مصدق عليه ، ولكن كما هو موضح أعلاه ، ليس من الصعب تحقيق العمليات المصادق عليها مع ثغرات XSS ، والتي تم إصلاح العشرات منها في الإصدارات المحددة.
المصدر: opennet.ru