Сьогодні був знайдений ще один небезпечний плагін, присутній в сховище WordPress - Portable phpMyAdmin. Якщо на вашому сайті встановлений цей плагін, то обов'язково деактивуйте його і видаліть. Як взагалі працює цей плагін? Для чого він призначається? Плагін Portable phpMyAdmin функціонує досить просто (в чому, власне, і полягає корінь проблеми). Як тільки ви заходите в панель адміністратора вашого сайту, ви можете отримати доступ до основної бази даних, перейшовши до меню Portable PMA. Як тільки ви зробите це, ви зможете відкрити phpMyAdmin всередині панелі адміністратора WordPress. Непогано, чи не так? Звичайно, якщо ви є адміністратором, а значить, повинні мати засоби для роботи з базою даних.
Отже, в чому проблема?
Ніби як нічого страшного? Передплатник може отримати доступ тільки до сторінці зі своїм персональним профілем. Начебто все надійно захищене, подумає сторонній спостерігач, і ... помилиться.
Що ми бачимо?
Швидше за все, ви побачите phpMyAdmin і стандартні таблиці вашого сайту, як показано на скріншоті:
Передплатник на вашому сайті, який знає про такий прийом, може отримати доступ до вашої основної бази даних. Чи уявляєте ви, що він може накоїти?
Залежно від налаштувань вашого сервера і БД, користувач може знищити дані, видалити бази даних, створити нові бази даних, ну і наостанок порушити функціонування всього сайту в цілому. Якщо всі бази даних є загальними один для одного, то користувач отримає доступ не тільки до бази даних для одного сайту, але і до всіх баз даних в кластері.
Виберіть базу даних зі списку зліва на екрані. Ви зможете побачити всі таблиці бази даних і всю інформацію, що зберігається в них.
У списку з лівого боку виберіть базу даних, яку ви хочете змінити (підказка: це не information_schema). Як тільки буде відображений список таблиць, виберіть wp_users (для окремих сайтів) або wpmain_users (для Мультисайт).
Швидше за все, вкладка Structure буде активною. Клацаємо по вкладці Browse, щоб побачити дані, що зберігаються в таблицях бази даних в нижній половині екрану. Клацаємо по полю біля будь-якого імені користувача і натискаємо на значок олівця нижче контенту таблиці. Примітка: не використовуйте значок олівця для списку записів, оскільки це, швидше за все, призведе до появи помилки 404.
Як бачите, треба було зовсім небагато часу і зусиль для того, щоб дістати в своє управління веб-сайт.
Що ще можна зробити?
Як я зазначив раніше, все залежить від налаштувань вашого сервера і БД. Мій сервер не дозволяє створювати нові бази даних, але не всі сервери налаштовані точно так же. Якщо це не заборонено, то зломщик може створити нові БД, змінити щось в існуючих БД, видалити ваші БД і т.д. Потенційних проблем дуже багато.
Цей плагін все ще знаходиться на вашому сайті? Видаляйте його тут же! І ніколи більше не повертайтеся до нього!
Хіба розробник плагіна не повинен піклуватися про це?
Незалежно від того, чи буде плагін доопрацьований, я все одно не буду його використовувати ні зараз, ні в майбутньому. Я взагалі не розумію, навіщо людині може знадобитися доступ до власної бази даних в межах панелі адміністратора. Є інші, більш безпечні шляхи, щоб працювати з базою даних.
Які заміни плагіна існують?
Перше рішення, phpMyAdmin, викликає у мене деякі побоювання в зв'язку з тим, що вже відбувалося в минулому, тому я сам особисто користуюся інструментом Navicat. У ньому є все, що душа забажає. З іншими рішеннями не працював.