آسیب پذیری بسیار خطرناک در افزونه Duplicator وردپرس
در طی این دو ماه گذشته متاسفانه وردپرس مورد حمله هکرها در سطح جهان قرار گرفته است که همین موضوع باعث قرارگیری وردپرس در برابر هک گسترده شده است. ماه گذشته شاهد این بودیم که فایل wp-config.php وردپرس در بسیاری از سایتها به صورت خودکار حذف شده و هنگام مراجعه به سایت با صفحه نصب وردپرس مواجه میشدیم. طی چند روز گذشته نیز بسیاری از سایتهای وردپرسی که از افزونه Duplicator استفاده میکنند مورد حمله قرار گرفته و از طریق کنترل و اجرای دستورات از راه دور توسط هکرها مورد هک قرار گرفتهاند..
خطر هک گسترده در وردپرس توسط افزونه Duplicator
همانطور که میدانید افزونه Duplicator وردپرس امکان ساخت بسته نصب آسان در وردپرس را به شما میده که با این افزونه میتونید از محتوا و تنظیمات کامل یک وبسایت یک نسخه به صورت کپی شده تهیه کرده و سپس با استفاده از نصب بسته آسان در وردپرس همین نسخه کپی شده را در سایت دیگر و با دامنهای متفاوت بدون اینکه نیاز باشه صفحات را از نو طراحی کنید، انتقال بدین. بنابراین استفاده از این افزونه بسیار بالا بوده و این افزونه تاکنون موفق شده بیش از یک میلیون نصب فعال در مخزن وردپرس رو ازآن خودش بکنه که فروش قالبهای وردپرس با استفاده از این افزونه هم باعث شده تا میزان استفاده از این افزونه رقمی بالای 10 میلیون رو به خودش اختصاص بده.
چطور افزونه Duplicator باعث هک سایت خواهد شد؟
همونطور که میدونید با استفاده از این افزونه کلیه تنظیمات و اطلاعات دیتابیس، قالب وردپرس، افزونههای وردپرس و به طور کلی هر اطلاعاتی که در وردپرس دارید این امکان رو پیدا میکنه که یک نسخه خروجی ازش تهیه کنید. در این نسخه خروجی شما دو فایل installer.php و فایی که شامل محتویات سایت و دیتابیس هست رو خواهید داشت که با استفاده از فایل database.sql هم امکان درون ریزی دادههای دیتابیس در سایت جدید فراهم خواهد شد.
حالا وقتی که تصمیم به نصب قالب با استفاده از بسته نصبی در سایت خودتون میگیرید، فایلهای database.php، installer.php، installer-backup.php، installer-log.txt و installer-data.sql و پوشه wp-snapshot نیز در کنار سایر فایلهای پیشفرض وردپرس قرار میگیرند. مشکل هک وردپرس درست از همینجا آغاز میشه که به دلیل وجود باگ در این افزونه باعث میشه که هکر بتونه امکان دو بار نصب وردپرس رو به دست بیاره که یک بار هم مشابه همین مشکل در سال گذشته رخ داد و باعث هک بسیاری از سایتهای وردپرسی شد.
این موضوع باعث میشه که هکر در مرحله اول سایت شما را ریست بکنه و با ارسال یک سری فایل مخرب فایل wp-config.php وردپرس را ویرایش کرده و از نو بازنویسی بکنه که این مسئله اولین قدم برای از دست خارج شدن سایت هست. طی بررسی که روی چند فایل wp-config.php برخی سایتها داشتیم کدهای این فایل به شکل زیر تغییر کرده بودند.
// ** MySQL settings - You can get this info from your web host ** // /** The name of the database for WordPress */ define('DB_NAME', 'test '); file_put_contents("test.php", '
‘);
/
*
‘);
/** MySQL database username */
define(‘DB_USER’, ‘test’);
/** MySQL database password */
define(‘DB_PASSWORD’, ‘test’);
/** MySQL hostname */
define(‘DB_HOST’, ‘nowhere:12345’);
/** Database Charset to use in creating database tables. */
define(‘DB_CHARSET’, ‘utf8’);
/** The Database Collate type. Don’t change this if in doubt. */
define(‘DB_COLLATE’, ”);
همونطور که میبینید اطلاعات دیتابیس به صورت کلی از بین رفته و با چیز دیگه جایگزین شده و علاوه بر این هم یک سری کد در این فایل تزریق شده که باعث شده هکر یک درب پشتی برای هک مجدد برای خودش ایجاد بکنه. بعد از این هک گسترده معمولا با دو مشکل اساسی مواجه خواهید شد.
- وقتی با دستکتاپ وارد سایتتون بشید با خطای 500 در وردپرس مواجه میشوید.
- وقتی با موبایل وارد سایت شوید با ریدایرکت شدن از چند آدرس به آدرس دیگه در نهایت به شکلی به صفحات تبلیغ و اسپم هدایت خواهید شد.
مسئله بعدی که رخ میده اینه که علاوه بر فایلهای پیشفرض وردپرس یک سری فایل php و web.config دیگه هم در public_html سایت شما اضافه خواهد شد. که تمامی مشکلات و هک شدن سایت به خاطر پاک نکردن فایل installer.php و عدم آپدیت این افزونه به وجود اومده.
راهکار چیست؟ چطور سایت هک شده را برگردانیم؟
اولین کاری که باید انجام بدین این هست که آخرین نسخه بک آپ وردپرس را بازگردانی کنید که به صورت سالم هست. برای این کار میتونید از میزبانی هاست خودتون بخواین که آخرین نسخه بک آپ رو در سایت شما جایگزین بکنه. سپس نسخه آپدیت شده افزونه Duplicator وردپرس که بعد از این بررسی شده و مشکل هک برطرف شده را از مخزن وردپرس دانلود کنید. اگر به پیشخوان وردپرس دسترسی داشتید اقدام به آپدیت افزونه بکنید و در صورت عدم دسترسی هم میتونید با استفاده از راهنمای نصب افزونه در وردپرس به صورت دستی و از طریق هاست افزونه را آپدیت کنید.
از اونجایی که به این افزونه احتیاجی نخواهید داشت سعی کنید سریعا بعد از آپدیت از سایت حذفش کنید و در نهایت فایلهای database.sql، installer.php، installer-backup.php، installer-log.txt و installer-data.sql که در هاست قرار داره رو هم پاک کنید.
برای سهولت امر می توانید از پیشخوان وردپرس به منوی duplicator و سپس زیر منوی tools مراجعه نمایید. سپس روی دکمه Remove Installation Files کلیک نمایید تا فایل های مربوطه حذف شوند.
بعد از انجام این کار میتونید از خطر هک مجدد جلوگیری کنید. اگر هم تا کنون سایت شما مورد هک قرار نگرفته حتما همه این راهکارها رو دنبال کنید، چرا که این باگ به صورت گسترده است و تا زمانی که از آخرین نسخه افزونه استفاده نکنید، سایت هک خواهد شد.
بدون دیدگاه