اگر سایت وردپرسی شما خود بخود ریدایرکت میشه و این صفحه رو میبینید، شما دچار یک بد افزار با رده بندی خطرناک شدید!
نگران نباشید روش خلاص شدن از شر این مشکل رو امروز بهتون آموزش میدم
اول از همه ببینیم این Malware یا همون بد افزار چیه و چیکار میکنه، ذاتا ایشون چیز خطر ناکی از نظر تهدید امنیت سایت شما یا کاربراتون نیست فقط با استفاده از social engineering یا همون مهندسی اجتماعی کاربران سایت شمارو ترغیب میکنه به سابسرایب کردن پوش های سایت مقصد.
خب از کجا وارد سایت شده؟ افزونه یا قالب نا معتبر یا اصطلاحا نال شده (ذات نال شده به معنی مخرب بودن نیست ) که کد مخربی داخلش تعبیه شده.
قالب یا افزونه نال شده وردپرس چیست؟
چه بلایی سره سایت وردپرسی ما میاره؟
این کد مخرب میاد در انتهای تمام پست تایپ های موجود در سایت یک تگ اسکریپت اضافه میکنه معمولا به این آدرس "https://for.dontkinhooot.tw/stat.js?n=ns1" علاوه بر اون در شرایط حاد میاد از دیتابیس آدرس سایت رو تغییر میده به مسیر دلخواه خودش و کلا دسترسی به سایت شمارو کامل ازتون میگیره.
تبعات بد این مشکل میتونه منجر به رفتن دامنه تو بلک لیست گوگل و آنتی ویروس هایی مثل نود32 باشه که عملا اجازه ایندکس شدن و باز کردن سایت رو نمیدن.
این کد مخرب معمولا یک بک دور هم میسازه که حتی با حذف افزونه یا قالب آلوده هم به کار خودش ادامه میده با توجه به پرمیشن های دسترسی احتمالا این بک دور داخل پوشه Upload وردپرس قرار میگیره.
راه حل چیه؟
اول از مسیر پنل هاست وارد phpmyadmin شده و از جدول Options دوتا رکورد اول که مربوط به آدرس Url سایت هست رو ویرایش و آدرس اصلی سایت رو قرار بدین با این کار دسترسی به وردپرس رو مجدد پیدا میکنید.
بعد با استفاده از افزونه Wordfence نسخه Pro سایت رو اسکن کنید برای اینکار ابتدا از تنظیمات scan گزینه Scan Options and Scheduling تنظیمات Basic Scan Type Options
رو روی High Sensitivity قرار بدین و شروع به اسکن سایت کنید، این کار کمک میکنه به افزونه یا قالب مخرب خیلی نزدیک بشین، اینجا ما کاری به حذف کردن این افزونه نداریم سرفا میخایم بدونیم چه افزونه یا قالبی بوده که در مراحل بعد از کپی کردنش به نسخه پاک وردپرس امتناع کنیم.
همونطور که از نتایج این اسکن متوجه خواهید شد تمام پست ها و محصولات شما آلوده به تگ اسکریپت مخرب هستند، برای حذف این تگ مخرب نیاز دارین تا همه ی پست هارو ادیت کنید که اینکار خیلی زمانبره برای این مشکل هم یک راه حل ساده وجود داره :
از دیتابیس خودتون یک بکاپ دانلود کنید و با استفاده از نرم افزار Notepad++ بازش کنید بعد کلید کنترل+H رو فشار بدین تا ابزار سرچ و replace ظاهر بشه سپس آدرس اسکریپت مخرب رو توی بخش find what قرار داده و در بخش replace with یک اسپیس بزنید و دکمه replace all رو کلیک کنید و فایل نهایی رو ذخیره کنید.
دقت کنید ممکنه تگ اسکریپت stringify شده باشه به این معنی که ساختارش توی فایل دیتابیس عینا همون ساختارش توی پست ها نباشه (مثلا یک بک اسلش قبل از > اضافه شده باشه) پس اول آدرس اسکریپت رو توی فایل دیتا بیس سرچ کنید و بعدش تگ کاملش رو از توی خوده فایل دیتابیس کپی و ریپلیس کنید.
یک دیتا بیس جدید بسازید (با نام کاربری و رمز عبور جدید) و دیتابیس پاکسازی شده رو توش ایمپورت کنید.
یک پوشه جدید توی هاست بسازید اینجا قراره ما یک وردپرس خام نصب کنیم ، برای اینکار آخرین نسخه وردپرس رو دانلود و داخل این پوشه آپلود و اکسترکت میکنیم ، بعد فایل wp-config رو از پوشه اصلی به این پوشه منتقل و اطلاعات دیتابیس رو با دیتابیس جدیدی که ساختیم جایگزین میکنیم.
بعد از اون پوشه upload وردپرس رو فشرده و روی هارد خودتون دانلود و اکسترکت کنید ، حالا باید تمام فایل ها با پسوند php و js رو از پوشه آپلود حذف و مجدد توی پوشه جدیدی که ساختیم آپلود میکنیم .
تا اینجا شما اکثر کار های لازم برای حذف کد مخرب و همینطور بک دور احتمالی رو انجام دادین حالا وقت نصب مجدد افزونه ها و قالب هست، حتما تا جایی که ممکنه افزونه های مورد نیازتون رو از خود ریپازیتوری وردپرس نصب کنید، حتما قالب رواز جای معتبر تهیه کنید و حتما از افزونه های امنیتی مثل wordfence استفاده کنید.
در آخر لینک اطلاعات فنی و تکمیلی این Malware رو از سایت joesandbox قرار میدم.
نشر و گسترش این مقاله جهت اطلاع عموم با ذکر منبع بلامانع میباشد.
" بروز رسانی "
برای حذف اسکریپت مخرب از داخل پست ها و مطالب سایت میتونید داخل Phpmyadmin بشین و دیتابیس مورد نظر رو انتخاب کنید و از بخش SQL کد زیر رو روی دیتا بیس اعمال کنید دقت کنید اگر پیشوند تیبل هاتون پیشفرض wp_ نیست توی کد زیر پیشوند رو اصلاح کنید:
UPDATE wp_posts SET post_content=(REPLACE (post_content, 'https://https://for.dontkinhooot.tw/stat.js?s=newrq',''));
بعد از این کار نیاز نیست دیتابیس رو داخل لوکال باز کنید و با نوت پد اصلاحش کنید.