Як захистити движок WordPress від зломів і заражень


«Повернутися до списку новин
28.08.2014

У зв'язку з постійними скаргами на злом сайтів, створених на базі безкоштовних CMS, зокрема WordPress, наша компанія вирішила опублікувати для Вас інформативну і дуже корисну статтю, з якої Ви дізнаєтеся: які наслідки несуть в собі заражені шаблони і як вберегти ресурс від злому через уразливості.

Всім відомо, що викачані з не оригінальних сайтів безкоштовні шаблони WordPress, можуть бути заражені і містити уразливості. Ми провели експеримент і оцінили ризик в цифрах.

З 2350 шаблонів WordPress скачали з популярних сайтів-каталогів, що пропонують російськомовні преміум - 54% містили скрипти з критичними уразливими і були заражені хакерськими веб-Шелл, бекдор, "спам" посиланнями.

  • best-wordpress-templates.ru (99% заражених або вразливих тем)
  • wordpress-ru.ru (99% заражених або вразливих тем)
  • wpfree.ru (97% заражених або вразливих тем)
  • wpfreethemes.ru (16% уразливих тем)
  • bestwordpress.ru (7% вразливих тем)
  • wordpreso.ru (3% заражених тим)

Це найбільш популярні сайти, які знаходяться в першій десятці в результатах пошукової видачі за запитом "безкоштовні теми для wordpress". Зауважимо, що ці сайти не єдині, наприклад, якщо завантажити тему blogdog з ресурсу wp-templates.ru, ми побачимо той же хакерський бекдор в файлі comments-popup.php.

А за допомогою цього бекдора зловмисники можуть виконати довільний код на сайті (завантажити веб-шелл, видалити вміст каталогів, вставити вірусний код в шаблони і скрипти, отримати доступ до бази даних і багато іншого), в результаті чого отримати повний контроль над усіма сайтами аккаунта хостингу. Тільки з wp-templates.ru тему blogdog скачали 309 раз, за ​​грубими оцінками, сумарна кількість завантажених заражених тим - більше 500 000.

Якої шкоди таять в собі заражені шаблони?

1. Спам-посилання
Близько 97% перевірених часом містять код, що розміщує чужий контент і спам-посилання на сторінках блогу. Це так зване "чорне seo" - недобросовісний метод просування сайтів в пошукових системах і накручування пошукових параметрів тИЦ і PR. Як він працює? У момент відкриття сторінки код в файлах header.php, footer.php або functions.php виконує завантаження списку спам-посилань з зовнішнього сайту і розміщує їх на сторінках блогу в невидимому для відвідувачів блоці.
Більш просунутий варіант коду може виконувати кешування завантажених посилань у файлі (зазвичай такий файл має розширення .png або .gif і розміщується в каталозі images теми, щоб не викликати підозру вебмастера). Крім розміщення спам-посилань в невидимому блоці, код може вставляти чужий контент (текст і посилання) на сторінках блогу, а також замінювати окремі слова в тексті на посилання, що веде на чужій сайт.
У шаблонах часто можна зустріти і статичні посилання на чужі сайти. Але вони будуть також спочатку закодовані за допомогою base64 або функції str_rot13.
З урахуванням великої популярності безкоштовних тим, даний метод "чорного" просування досить ефективний, оскільки дозволяє сформувати велику кількість посилань, тому активно використовується недобросовеcтнимі seo оптимізаторами і хакерами для просування сайтів клієнтів або власних проектів.
В результаті роботи шкідливого коду сайт перетворюється в лінкферму, заспамленності "пластиковими вікнами", "віагрою" і посиланнями на сайти для дорослих, втрачає лояльність з боку пошукової системи і відвідувачів, а іноді потрапляє в бан або блокується антивірусним програмним забезпеченням. Ще одним негативним моментом для сайту є також збільшення навантаження на процесор і уповільнення відкриття сторінок блогу, так як при відкритті кожної сторінки виконується підключення до зовнішнього ресурсу.


2. Критичні уразливості в timthumb.php

Наступна за популярністю проблема в шаблонах wordpress - це уразливості в скрипті timthumb.php. Даний скрипт дуже популярний серед розробників шаблонів і активно використовується в темах для автоматичного масштабування зображень. У версії 2.8.13 і раніших виявлено кілька критичних вразливостей, що дозволяють виконувати довільний код на сайті і завантажувати довільні файли на хостинг (в тому числі хакерські веб-шелли). Якщо на вашому сайті встановлена ​​одна із старих версій, необхідно якомога швидше відновити її до актуальної зі сховищ timthumb.googlecode.com/svn/trunk/timthumb.php. В іншому випадку всі сайти на ваш обліковий запис хостингу під загрозою.

3. Бекдор і веб-шеллиІ, нарешті, переходимо до найнебезпечнішим і явним ознаками зараженої теми - це наявність бекдор і веб-Шелл.

Ці скрипти надають хакеру повний контроль над файлової системи і базою даних аккаунта: можна управляти файлами і каталогами, розміщувати дорвеи, мобільні і пошукові редіректи, вірусний код в шаблонах і багато іншого. Оскільки на більшості віртуальних хостингів скрипти сайту можуть отримати доступ до файлів сусіднього сайту, скопрометірованнимі виявляються всі сайти власника, розміщені на тому ж акаунті хостингу.

На щастя, веб-Шелл було виявлено всього в 3% перевірених часом каталогу wordpresso.ru (в шаблонах 3_PM, beautygames, blogdog, browntextures, edu_0, gamesstylish, gamingzone, grand-banquet, hostingsite, myfinance_0, pink-cake, PurpleStyle, refresh -your-taste). Проте, необхідно бути на чеку і перед використанням перевіряти теми на наявність хакерських скриптів.

Revisium Wordpress Theme Checker

ось невеликий сканер , Який шукає шкідливі фрагменти в темах wordpress.

Як уберегти свій блог від злому через уразливість в шаблонах

  • Завантажуйте теми тільки з перевірених джерел. Якщо ви завантажуєте комерційну преміум-тему з сайту, де вона розміщена безкоштовно, швидше за все шаблон заражений. Тому в першу чергу від злому блогів на wordpress страждають любителі халяви. Комерційні теми для wordpress потрібно купувати на офіційних сайтах. Це практично виключає шкідливі вставки в шаблонах.
  • Перевірте викачані теми на наявність шкідливого коду і спам-посилань. Це можна зробити сканером AI-BOLIT. Всі підозрілі файли перевірте вручну. Для аналізу тим на шкідливі вставки ви також можете звернутися до фахівців. Для експрес-перевірки можете скористатися сканером тим rwp_checker.php.
    Чи не рекомендуємо використовувати десктопні антивіруси для перевірки шаблонів. У більшості випадків вони не виявлять нічого підозрілого, так як виявлення шкідливого коду в php скрипти - не їхня профіль.
  • Якщо на вашому сайті використовується скрипт для масштабування зображень timthumb.php або його модифікації (thumb.php, _img.php тощо), перевірте його версію та оновити до останньої доступної: timthumb.googlecode.com/svn/trunk/timthumb.php


Як він працює?