یک نقص امنیتی بزرگ در پرستاشاپ کشف شد! (ژوئیه 2022)


تمام سایت‌های پرستاشاپ که از نسخه 1.6.0.10 یا بالاتر استفاده می‌کنند، در برابر حمله از نوع تزریق SQL آسیب‌پذیر هستند که می‌تواند عواقب جدی بر روی جزئیات کارت بانکی مشتریان داشته باشد. در اینجا چیزی است که ما در مورد این نقص امنیتی بزرگ می دانیم که به نظر می رسد در حدود 14 ژوئیه 2022 کشف شده است.

چه مدت از این نقص بهره برداری شده است؟

به نظر می رسد نقص امنیتی شناسایی شده در حال سوء استفاده است از 14 جولای 2022.

چه نوع آسیب پذیری شناسایی شد؟

یک نقص امنیتی در تزریق SQL.

اولویت هکرها چیست؟

را ماژول پرداخت از سایت برای جمع آوری اطلاعات کارت بانکی مشتری.

کدام نسخه های پرستاشاپ تحت تأثیر قرار می گیرند؟

را نسخه های 1.6.0.10 یا بالاتر مواردی هستند که مستقیماً تحت تأثیر این نقض امنیتی کشف شده در جولای 2022 قرار می گیرند.

چه نسخه هایی از پرستاشاپ ایمن هستند؟

را نسخه های 1.7.8.2 یا بالاتر (ظاهراً) آسیب پذیر نیستند به این نقص امنیتی (مگر اینکه کد منبع توسط توسعه دهندگان اصلاح شده باشد و توسط پرستاشاپ بررسی نشده باشد).

نقص امنیتی چگونه کار می کند؟ خطرات چیست؟

این حمله مستلزم آن است که فروشگاه در برابر اکسپلویت های تزریق SQL آسیب پذیر باشد. به گفته پرستاشاپ، آخرین نسخه پرستاشاپ و ماژول های آن عاری از این آسیب پذیری ها هستند.

بر اساس اطلاعات موجود، به نظر می‌رسد مهاجمان فروشگاه‌ها را با استفاده از نرم‌افزار یا ماژول‌های قدیمی، ماژول‌های آسیب‌پذیر شخص ثالث یا آسیب‌پذیری‌هایی که هنوز توسط تیم‌های پرستاشاپ کشف نشده است، هدف قرار می‌دهند.

با توجه به مبادلات پرستاشاپ با صاحبان فروشگاه‌های آنلاین و توسعه‌دهندگانی که روی آن‌ها کار می‌کنند، شیوه عملکرد تکرارشونده به این صورت است:

  • مهاجم یک درخواست POST را به نقطه پایانی آسیب پذیر در برابر تزریق SQL ارسال می کند.
  • پس از حدود یک ثانیه، مهاجم یک درخواست GET را بدون هیچ پارامتری به صفحه اصلی ارسال می کند. این منجر به ایجاد یک فایل PHP به نام blm.php در ریشه دایرکتوری فروشگاه می شود.
  • سپس مهاجم یک درخواست GET را به فایل جدید ایجاد شده، blm.php ارسال می کند، که به او اجازه می دهد دستورالعمل های دلخواه را اجرا کند.
  • پس از تصاحب موفق یک مغازه، مهاجمان فرم پرداخت جعلی را در صفحه پرداخت اولیه تزریق کردند. در این سناریو، مشتریان فروشگاه می توانند اطلاعات کارت اعتباری خود را در فرم جعلی وارد کرده و ناآگاهانه آن را برای مهاجمان ارسال کنند.

اگرچه به نظر می‌رسد این رایج‌ترین طرح است، مهاجمان می‌توانند از طرح متفاوتی استفاده کنند، نام فایل متفاوتی قرار دهند، قسمت‌های دیگر نرم‌افزار را تغییر دهند، کدهای مخرب را در جای دیگری قرار دهند، یا حتی یک بار مسیرهای خود را پوشش دهند.

چگونه سایت پرستاشاپ خود را ایمن کنیم؟

با توجه به اطلاعاتی که در حال حاضر در مورد این نقض امنیتی موجود است، مهاجمان می توانند از ویژگی ذخیره سازی حافظه پنهان MySQL به عنوان بردار حمله استفاده کنند. این ویژگی به ندرت استفاده می شود و به طور پیش فرض غیرفعال است، اما می تواند از راه دور توسط مهاجم فعال شود. تا زمانی که یک اصلاح منتشر نشده است، توصیه می کنیم برای شکستن زنجیره حمله، این ویژگی را در کد پرستاشاپ غیرفعال کنید.

برای انجام این کار، فایل config/smarty.config.inc.php را در نصب پرستاشاپ خود پیدا کنید و خطوط 43-46 (PrestaShop 1.7) یا 40-43 (PrestaShop 1.6) را حذف کنید:

if (Configuration::get('PS_SMARTY_CACHING_TYPE') == 'mysql') {
    include _PS_CLASS_DIR_.'Smarty/SmartyCacheResourceMysql.php';
    $smarty->caching_type="mysql";
}

برای بهینه سازی امنیت سایت خود، پرستاشاپ اکیداً توصیه می کند:

  • به آخرین نسخه های موجود مهاجرت کنید و استفاده از ماژول های پرستاشاپ را که اخیراً به روز نشده اند تا حد امکان محدود کنید.
  • گزارش‌های سرور را بررسی کنید تا هرگونه فعالیت غیرعادی اخیر را شناسایی کنید.
- [14/Jul/2022:16:20:56 +0200] "POST /modules/XXX/XXX.php HTTP/1.1" 200 82772 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/602.2.14 (KHTML, like Gecko) Version/10.0.1 Safari/602.2.14"
 
- [14/Jul/2022:16:20:57 +0200] "GET / HTTP/1.1" 200 63011 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.98 Safari/537.36"
 
- [14/Jul/2022:16:20:58 +0200] "POST /blm.php HTTP/1.1" 200 82696 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0"
  • برای بررسی کامل سایت خود و اطمینان از اینکه هیچ فایلی اصلاح نشده و کد مخربی اضافه نشده است، با یک متخصص تماس بگیرید.

توجه داشته باشید که پیدا نکردن این الگو در گزارش‌های شما لزوماً به این معنی نیست که فروشگاه شما تحت تأثیر حمله قرار نگرفته است: پیچیدگی سوء استفاده به این معنی است که راه‌های متعددی برای اجرای آن وجود دارد و مهاجمان نیز ممکن است سعی کنند مسیرهای خود را بپوشانند.

نسخه اصلاحی (پچ امنیتی) در حال حاضر در حال آزمایش است و باید به زودی منتشر شود.

پرستاشاپ همچنین بر اهمیت به روز نگه داشتن سیستم شما برای جلوگیری از چنین حملاتی تاکید کرده است. این بدان معنی است که شما باید به طور منظم هم نرم افزار پرستاشاپ و ماژول های آن و هم محیط سرور خود را به روز کنید.

منبع





منبع