Сканирование базы данных на наличие вредоносных данных

3 янв. 2011 г., 16:04:38
Просмотры: 32.6K
Голосов: 5

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

Я мог бы просканировать сайт для него с помощью таких инструментов как grep и подобных (Для начала: Grep и его аналоги), но меня интересует, как просканировать базу данных? Что если хакер разместил вредоносный код внутри базы данных? Это может быть что-то простое вроде XSS или даже PHP-код в случае, если в ядре все еще используется eval (или использовался на момент взлома).

Есть какие-нибудь предложения? Я думал об использовании SQL-запросов с функцией сравнения LIKE или даже о возможности использования REGEX. Но может быть, кто-то уже делал это или хочет сделать и готов поделиться своими идеями.

2
Комментарии

Я заметил, что примерно две недели назад трафик из Google Analytics для моего сайта на WordPress резко упал. В конце концов я понял, что хакер проник в систему, и мой блог стал принудительно перенаправлять на различные спам-сайты. Сегодня я внимательно изучил исходный код и обнаружил, что страница загружает два JavaScript-файла, которые я не узнал. Проверив файловый менеджер, я увидел, что даты этих двух файлов были изменены примерно в день взлома сайта. Я проверил свой сайт с помощью бесплатного сканера вредоносного ПО, рекомендованного выше, http://sucuri.net/, и он также обнаружил эти файлы.

User User
25 сент. 2011 г. 18:14:47

@Pamela, пожалуйста, не используйте ответы для обсуждения. Вы сможете оставлять комментарии, когда наработаете достаточную репутацию на сайте.

Rarst Rarst
25 сент. 2011 г. 18:22:50
Все ответы на вопрос 2
2

Я читал, что выгрузка базы данных в текстовом формате и поиск по ней — это хороший способ. Можно искать через phpmyadmin, но там ограничения. Всё зависит от размера базы данных и хорошего текстового редактора, но можно удалить ревизии записей/страниц перед выгрузкой, чтобы уменьшить размер. Или выгружать по несколько таблиц за раз.

3 янв. 2011 г. 16:55:00
Комментарии

Удаление ревизий перед сканированием кажется мне хорошей стратегией. Я спрошу у друга, нужны ли они ему. У тебя есть советы по поисковым строкам? Но перед тем как спрашивать, думаю, мне стоит сделать домашнее задание и загуглить известные уязвимости, возможно, я даже ссылался на некоторые из них в своем блоге.

hakre hakre
4 янв. 2011 г. 12:39:41

Я бы искал стандартные строки типа eval(base64_decode. Также, если просмотреть исходный код сайта и обнаружить спам-ссылки, можно поискать по ним. http://sucuri.net/ отслеживает вредоносные строки, связанные с WordPress.

markratledge markratledge
4 янв. 2011 г. 20:28:36
0

Все мои сайты на одной учетной записи были заражены скриптом Decode_Base64, который инфицировал множество php-файлов. Несмотря на то, что очистка одного сайта заняла несколько часов, он был повторно заражен всего через несколько часов.

В итоге я загрузил папку wp-content/uploads и другие файлы, обновляемые вручную, используя безопасное FTP-соединение.

Я также сделал резервные копии и заметки о темах, плагинах и других кастомизациях, которые нужно будет применить повторно.

Затем я изменил все пароли учетной записи/FTP, вручную изменил пароли баз данных и пользователей через phpMyAdmin, чтобы ограничить доступ при восстановлении сайтов.

Далее я удалил ВЕСЬ код WordPress со ВСЕХ сайтов и загрузил вместо этого простой index.html файл с сообщением о том, что сайты находятся на техническом обслуживании.

Я проверил папки WP-content/uploads на наличие любых файлов, кроме изображений или моего собственного контента, особенно ища скрипты (которых там быть не должно).

Затем скачал последнюю версию WordPress, настроил её для существующей базы данных с новым паролем и загрузил на сервер.

Зайдя на сайт, на котором в этот момент активен только Akismet, проверил и удалил всё, чего там быть не должно (страницы, записи, ссылки и т.д.).

Установил плагин для резервного копирования, чтобы убедиться, что есть бэкапы базы данных и папок.

Установил плагин Bulletproof-Security (или аналогичный), который создает защищенные .htaccess файлы и подсказывает, как обезопасить файлы и папки. Следовал его рекомендациям.

Наконец, постепенно применил свои кастомизации снова.

Если у вас несколько доменов, повторите процесс по мере необходимости.

В моей ситуации я как раз планировал переезд на новый хостинг, поэтому, проделав всё это, я сохранил всё по каждому сайту и воссоздал их на новом хосте, убедившись, что восстановленная старая версия чиста.

Удачи, надеюсь, это поможет.

23 февр. 2012 г. 16:12:38