Защита от PAYDAYLOAN взлома WordPress

19 Май 2013

Вот хотелось бы поделиться горьким опытом борьбы с гнусными разработчиками плагинов, или, что менее вероятно, любителями взломать wordpress.
Не так давно заметил у себя на сайте код, который начинается с и далее вставлены блоки со сгенерированными id и ссылка на сайт мошенников.

Я предпринял меры, так как думал, что каким-то образом взломали БД или сайт, – поменял все пароли на всех сайтах, проверил .htaccess, но, что вы думаете? – через пару дней снова этот же блок появился.

Решение далось непросто, т.к. источника я так и не нашел.

Код подключался в конце header.php, и я просто:

1. переименовал header.php в somename.php
2. создал чистенький header.php и прописал

<?php include('somename.php');?>

Вот уже неделю никаких внешних ссылок и прочего хлама.

[update 26/05/2013]

Как ни странно, спустя дней 10 опять ссылки на payday loan появились, причем уже новые, т.е. не < ! –wordpress hide — > было, а < ! — [уникальный код] — > и далее ссылки.

Кроче пришлось просканировать блог на изменения в ядре системы, и выяснилось, что был изменен upgrade.php файл и ссылка левая стояла.

Теперь я сделал следующее:
1. изменил все секретные фразы в wp-config.php
2. изменил пароль админа
3. изменил пароль на хостинг
4. изменил пароль на базу данных

Никаких Base64 не нашел на блоге (кроме phpmailer’а), и где еще искать даже не знаю.
Пытаюсь найти способ отследить время изменения header.php и соединений с сервером, если это было внутри, то будет проще, если извне, то хотя бы виновника найду сразу…

[update 04/06/2013]
Все по-прежнему отлично. Рекомендую плагин wordfence, с помощью которого можно узнать изменения системных файлов WordPress и вернуть их в исходное состояние.

[update 18/06/2013]

Опять появился код, но в этот раз больше времени прошло. И опять все теже несколько сайтов, причем они самые посещаемые.

Wordress и плагины обновлены до последних версий, кроме некоторых, но те проверенные.

Нашел временный выход из ситуации: после того, как в header.php вы прописали подключение другого файла, допишите следующее:

<script>/*

А ВО ВСЕХ файлах, что подгружаются после header.php (page,single,archive,404 и другие) после get_header() подключения:


*/</script>

Это все в обычном html.

Теперь, когда эта гадость снова добавится в header, она окажется внутри закомментированной строчки скрипта.


 


© 2006 - 2024, Александр Сергеев