Лечение сайта от внедрений php-кода
Материал из 1GbWiki.
Данная статья предназначена для технических специалистов. Вы должны знать основы программирования, уметь пользоваться консольными программами и официальной документацией от разработчиков. В связи с тем, что на сервере могут обновиться версии программ, измениться конфигурация приложений, документация в статье может не соответствовать действительности, поэтому вы должны быть готовы разобраться с возможными проблемами самостоятельно или с помощью специалистов из платной поддержки http://1gbsup.ru/paidsu/, обычная поддержка хостинга не оказывает консультации по установке и отладке скриптов и лечению сайтов. |
Примерный список действий, которые необходимо выполнить. Предполагается что у вас есть доступ к сайту по ssh. В каждом пункте дано краткое описание того что нужно сделать и примеры команд.
Для вычищения кода сайта необходимо необходимо найти и вручную проверить подозрительные файлы. Когда файлы найдены нужно посмотреть время их изменения, посмотреть логи веб-сервера за указанное время, поискать подозрительную активность. Если что-то нашлось - посмотреть все запросы с этого же ip адреса, возможно выявятся какие-то новые, ранее не найденные дырки. Через такой анализ логов можно понять как сайт был заражен и лечить его местно.
Если сайт на каком-то популярном движке - ПОСЛЕ вычищения всего вредоносного кода нужно обновить его до последней версии.
Содержание |
Найти последние измененные файлы
Посмотреть какие файлы менялись за последнее время (3 дня, неделю, месяц)
find . -type f -mtime -3 find . -type f -mtime -7 find . -type f -mtime -30
Можно посмотреть файлы, которые менялись больше недели назад и меньше месяца назад
find . type f -mtime +7 -mtime +30
Файлы, содержащие подозрительные команды
grep -Hn "eval.*base64" -r . --include="*.php" grep -Hn "eval\s*(" -r . --include="*.php"
Файлы с подозрительно длинными строками
grep -Hn -E '[^\ ]{200,}' -r . --include="*.php"
Файлы с расширением НЕ php, содержащие php код
grep -lHnz -E '<\?(php)?\s.*\?>' -r . --exclude="*.php"