آسیب پذیری افزونه Duplicator در وردپرس

آسیب پذیری افزونه Duplicator در وردپرس

پلاگین Duplicator محصول شرکت snapcreek یکی از پلاگین های بسیار جذاب، محبوب، پر استفاده و البته دوست داشتنی وردپرس است که اولین بار در اواخر ماه مارچ 2015 معرفی شد. این پلاگین که اخیرا بسیاری از کاربران ایرانی را نیز تحت تاثیر خود قرار داده است، یک کار خیلی خوب، مفید و موثر انجام می دهد.
در گذشته برای اینکه یک وبسایت راه اندازی کنید چند مرحله در پیش داشتید. از نصب وردپرس گرفته تا قالب ها و پلاگین ها.
اما پلاگین Duplicator کار را بسیار ساده کرده به طوریکه نه تنها در زمان بسیار کمتری وبسایت شما راه اندازی می شود بلکه بدون دردسر نصب وردپرس، قالب و پلاگین و دیگر امور اولیه مربوط به آن ها، یک وبسایت کامل مطابق با نمونه در اختیار شما قرار خواهد گرفت. اما این پلاگین محبوب مانند اغلب پلاگین های وردپرس دور از تهدید و خطر نیست…! اگر شما نیز وبسایت خود را با افزونه Duplicator راه اندازی کردید، توصیه می شود حتما ادامه مقاله را مطالعه کنید…

چرا افزونه Duplicator محبوب شده است؟

همانطور که به آن اشاره شد، در گذشته برای راه اندازی یک وبسایت وردپرسی، ابتدا لازم بود وردپرس نصب گردد، سپس قالب مورد نظر به همراه داده های نمونه و در انتها پلاگین های مورد نیاز نصب و فعال شوند. همچنین در مرحله بعد لازم بود تنظیمات مربوط به پلاگین ها و خود وردپرس نیز انجام شود.
افزونه Duplicator، تمامی بخش های فوق و تنظیمات آن ها را به طور کامل در یک پکیج قرار داده و به همراه یک Installer ارایه می کند. با اجرای چند مرحله ساده در Installer وبسایت شما دقیقا همانند نمونه و بهمراه تنظیمات کامل نصب و راه اندازی می شود. به همین سادگی!

هاست مخصوص وردپرسبررسی و خرید هاست وردپرس

 

چرا باید حواستان به افزونه دابلیکیتور باشد؟

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

Duplicator افزونه ای که شما را به دردسر می اندازد!

مشکل اول: تنظیمات وردپرس بر اساس اطلاعات نمونه انجام شده اند. ممکن است در هنگام ایجاد پکیج، فروشنده از ایمیل و اطلاعات کاربری خود در وردپرس استفاده کرده باشد. بنابراین پس از راه اندازی وبسایت از طریق Duplicator، لازم است به Admin وردپرس لاگین کرده و دو بخش زیر را بررسی کنید:
به منو تنظیمات > عمومی مراجعه و در بخش نشانی ایمیل، آدرس خود را وارد کنید.
به منو کاربران > همه کاربران مراجعه و نسبت به حذف کاربرانی که شما ایجاد نکردید اقدام کنید.

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

در هنگام راه اندازی وبسایت، در صفحه اول نصب Duplicator بخشی با عنوان Notices و سپس Package Age وجود دارد که معمولا سن پکیج را به شما نشان می دهد:

افزونه دابلیکیتور
مشکل سوم: Duplicator وبسایت شما را تغییر می دهد بنابراین خطرناک است، خیلی خطرناک است!
ساختار افزونه Duplicator به گونه ای طراحی شده است تا امکان ایجاد تغییر در فایل های وبسایت، دیتابیس و بخش های دیگر را فراهم می کند. حال تصور کنید این افزونه از حفره امنیتی نیز برخوردار باشد. بنابراین براحتی می توان از حفره امنیتی آن استفاده و جهت اجرای مقاصد شوم! به کار گرفته شود.

Duplicator از زمان انتشار تا کنون بیش از 120 بروز رسانی مختلف داشته است. اما جالب است که اغلب فروشندگان قالب از نسخه های قدیمی آن که حاوی حفره امنیتی هستند، استفاده می کنند. چنانچه Duplicator مورد استفاده 1.2.42 و ما قبل باشد، قطعا وبسایت شما در خطر جدی قرار دارد و هر چه زودتر باید آن را ایمن سازی کنید.

گزارش خطر پذیری Duplicator در نسخه های قدیمی
نسخه 1.2.32 و ماقبل
نسخه 1.2.40 و ما به قبل
نسخه 1.2.42

آخرین نسخه افزونه Duplicator در هنگام نگارش این مقاله برای نسخه های رایگان 1.3.0 و برای نسخه های برخوردار از لایسنس Pro) 3.6.1) می باشد.
دریافت نسخه جدید Duplicator
 

آسیب پذیری های افزونه Duplicator

افزونه Duplicator به دلیل نوع ساختار و همچنین وجود چند حفره امنیتی می تواند تغییرات زیر را در وبسایت شما ایجاد کند:

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

آسیب پذیری سوم: وبسایت شما در معرض حملات شدید XSS و DDOS قرار میگیرد و ممکن است بسته به حجم حملات از دسترس خارج شود.

آسیب پذیری چهارم: فایل wp-config.php و index.php حذف می شوند.

آسیب پذیری پنجم: در بسیاری از فایل ها و مسیرهای وبسایت شما کد مخرب تزریق شده و حتی سطح دسترسی برخی از فایل ها چون index.php جهت اجرای کدهای مخرب به 700 و بیشتر افزایش خواهد یافت.

آسیپ پذیری ششم: با توجه به تزریق کدهای مخرب، وبسایت شما با خطاهای متعددی از جمله can not modify header مواجه می شود.

آسیپ پذیری هفتم: کدهایی در فایل .htaccess در یک یا چند مسیر از وبسایت شما تزریق می شوند که باعث می گردد وبسایت شما به آدرس‌های ناشناخته Redirect شود. گاهی این فرایند فقط در نمایش وبسایت از طریق موبایل رخ می دهد و گاهی در کامپیوترهای Desktop یا هر دو. این کدها که از زیر ساخت RewriteEngine استفاده می کنند، معمولا با تعداد زیادی کاراکتر به شکل زیر در ابتدای فایل .htaccess در مسیرهای مختلف قرار می گیرند:

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_USER_AGENT} android|...
RewriteCond %{HTTP_USER_AGENT} ...
RewriteRule ^$ http://somethings [R,L]

هاست قدرتمند لینوکسبررسی و خرید هاست لینوکس

 

نحوه ایمن سازی وبسایت پس از استفاده از افزونه Duplicator

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

1- به بخش Admin وردپرس لاگین کرده و به منو افزونه ها > افزونه های نصب شده مراجعه کنید. از لیست، افزونه Duplicator را یافته و سپس اقدام به غیر فعال کردن و در ادامه حذف کامل افزونه، کنید. (اطمینان حاصل کنید بعد از این فرایند پوشه duplicator در مسیر wp-content/plugins وجود نداشته باشد، در صورت وجود آن پوشه را حذف کنید.)

2- به محل نصب وردپرس در هاست خود مراجعه و فایل های زیر را با هر پسوند یا پیشوند حذف کنید:

database.sql
installer-backup.php
installer-data.sql
installer-log.txt
installer.php
dup-database_....sql
dup-installer-data_....sql
dup-installer-log_....txt
dup-installer

3- فایل zip شده نصب قالب را حذف کنید.

در مواردی که هنور فایل های Installer و نصب حذف نشده باشند شما در پنل ادمین وردپرس با پیام زیر مواجه می شوید که هشدار می دهد لازم است این موارد حذف شوند:
افزونه duplicator
گاهی اوقات ممکن است فایل های ذکر شده در مرحله 2 و 3 در پوشه wp-snapshot قرار داشته باشند. بنابراین محتوای این پوشه را نیز بررسی کنید.

4- بر اساس روال این افزونه معمولا چند فایل .htaccess در اکانت شما ایجاد می شود که با کاراکتر . و رشته ای از اعداد نام آن ها تفکیک شده است. مانند: htacees.738293.orig
همه آن ها جز فایلی که فقط نام آن بدون هیچ پیشوند یا پسوند .htaccess می باشد را حذف کنید.

5- در ابتدای فایل .htaccess ممکن است چند توضیح در مورد ساخته شدن وبسایت با Duplicator درج شده باشد. آن چند خط توضیح را حذف کنید:
افزونه دابلیکیتور

نحوه رفع مشکل وبسایت در حالت هک شده

البته مطمئن ترین راهکار استفاده از بکاپ، برای بازیابی اطللاعات به قبلا از زمان وقوع مشکل، است. چنانچه از خدمات های ساپورت استفاده می کنید، می توانید طی یک درخواست به واحد فنی، خواستار بازیابی بکاپ شوید.
اما چنانچه به هر دلیل بکاپ سالم در اختیار ندارید، می توانید مراحل زیر را دنبال کنید:

1- ابتدا لازم است مطابق با بخش قبل (نحوه ایمن سازی) افزونه duplicator و فایل های آن را غیر فعال و حذف کنید.

2- فایل های از دست رفته را جایگزین کنید. چنانچه فایل wp-config.php و index.php حذف شده اند آن ها را از یک وردپرس خام استخراج کرده و در مسیر وبسایت خود قرار دهید. سپس ضمن تغییر نام کاربری و رمز عبور دیتابیس، اطلاعات جدید شامل نام، نام کاربری و رمز عبور دیتابیس را در بخش اطلاعات دیتابیس واقع در فایل wp-config.php، ذخیره کنید.

3- چنانچه دیتابیس شما سالم باشد با اجرای مراحل 1 تا 4 پیش بینی می شود که وبسایت شما دوباره در دسترس قرار گیرد. اما چنانچه با صفحه خالی یا خطای 500 مواجه شدید، فایل error_log را بررسی کنید تا خطاهای احتمالی را مشاهده کنید.

چنانچه با خطاهایی با مضمون Can not modify header مواجه شدید، به آن معناست که در فایل و خط ذکر شده کد مخرب تزریق شده است، بنابراین باید آن فایل ها را باز کنید و کدهای مخرب را که معمولا در ابتدای فایل به صورت ناخوانا و ترکیبی از حروف و اعداد بسیار زیاد، درج شده اند حذف کنید.

4- اطمینان حاصل کنید فایل ها یا پوشه های اضافه در محل نصب وردپرس و قسمت های زیر مجموعه ایجاد نشده باشند، در این صورت موارد اضافه را حذف کنید. این فایل ها معمولا با نام های غیر متعارف و سطح دسترسی بالا مانند 700 یا 755 ایجاد می شوند. همچنین درون اینگونه فایل ها معمولا از کدهای تزریقی base64 استفاده شده است.

5- اگر با مراجعه به وبسایت، آدرس به موارد ناشناخته Redirect می شود، خطوط اعلام شده در بخش آسیب پذیری هفتم را از فایل .htaccess حذف کنید.

6- فایل .htacees را باز کنید و چنانچه در بخشی از آن خط اول تصویر زیر قرار داشت. آن خط را که نشانگر استفاده از duplicator است حذف کنید:
افزونه دابلیکیتور

فراموش نکنید!

فراموش نکنید که 15 مرحله ایمن سازی وردپرس همواره به عنوان یک دستورالعمل کلی در ایمن سازی عمومی وردپرس مهم است. بنابراین توصیه می شود دستورالعمل های مقاله زیر را نیز در وردپرس اجرا کنید:
15 نکته طلایی برای ایمن سازی وردپرس

درباره نویسنده
سجاد ابراهیمی
سجاد سالهاست که در حوزه وب هاستینگ و مدیریت سرور فعالیت می کند، او عاشق طبیعت، کوه نوردی و طراحی گرافیک هست و سعی می کند به عنوان هماهنگ کننده در های‌ساپورت بهترین ها را برای کاربران فراهم کند.
6 دیدگاه برای “آسیب پذیری افزونه Duplicator در وردپرس
  1. رها اسلامی - 4 دی, 1397 at 4:57 ب.ظ

    سلام ممنون که اطلاع رسانی کردید.

    پاسخ
  2. سعید سبحانی - 4 دی, 1397 at 6:22 ب.ظ

    میبخشید این فایل های که گفتید حذف بشن بعضی هاشون یه سری حروف و عدد بهشون اضافه شده. یعنی اینا هم باید پاک بشن؟

    پاسخ
    • سجاد ابراهیمی - 4 دی, 1397 at 6:25 ب.ظ

      بله همانطور که در مقاله ذکر شده، ممکنه که این فایل ها دارای پسوند یا پیشوند با ترکیبی از حروف و اعداد باشند. با این حال لازمه که حذف شوند.
      مثال: installer-log-482s7271uj83.txt

      پاسخ
  3. محمد اسلامی - 2 تیر, 1398 at 4:48 ب.ظ

    مرسی از مطلب خیلی خوبتون. من سایتم وقتی از موبایل باز میشه مدام به یه سری سایتایی ریدارکت میشه که اصلا نمیشناسم. میشه بگید مشکل کجاست؟

    پاسخ
    • سجاد ابراهیمی - 6 تیر, 1398 at 5:01 ب.ظ

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

      پاسخ

دیدگاه خود را ارسال کنید