У меня есть сайт Joomla 1.0, работающий на общем хосте, у которого нет доступа к оболочке (доступен только FTP). Недавно мой сайт был помечен Google как вредоносный сайт, и я уведомляю, что файл .htaccess модифицирован вредоносным содержимым. Это правило перенаправления на веб-сайт под названием «depositpeter.ru» добавляется в .htaccess:
ErrorDocument 400 http://depositpeter.ru/mnp/index.php
ErrorDocument 401 http://depositpeter.ru/mnp/index.php …
Если я очищу этот файл .htaccess, через несколько минут он будет изменен с помощью вредоносного содержимого.
Я подозреваю, что есть некоторые backdoor PHP, и javascript был введен в нашу базу кода, которая постоянно изменяет файл .htaccess. Однако я не знаю, как эти вредоносные программы попали на мой сайт в первую очередь. Я уверен, что пользователи FTP не загрузили их на мой сайт. При проверке вируса было обнаружено, что загружено пользовательское изображение с вредоносным ПО PHP.ShellExec (я не уверен, как работает этот PHP.ShellExec, и если он связан с вирусом .htaccess, хотя).
Мой вопрос в том, как я должен начать устранение неполадок и очистку этого вредоносного ПО? Я довольно невежественный и имею небольшой опыт работы с вредоносным ПО. Любая помощь очень ценится!
Возможно, вам не по силам исправить это самостоятельно. Но вот некоторые вещи, которые вы должны сделать.
Добавьте файл .htaccess
в каталог uploads, который будет препятствовать доступу к чему-либо, кроме загруженных изображений. Это может выглядеть примерно так:
Order deny,allow
Deny from all
<FilesMatch "\.(jpe?g|bmp|png)$">
Allow from all
</FilesMatch>
Если ваш хост не заблокировал функции, которые позволяют php вызывать системные команды (вы будете удивлены), и вы знаете, что делать, вы можете имитировать доступ к оболочке с помощью специального скрипта php с использованием system
, exec
, popen
и некоторых других функций. Я использую сценарий, который я сделал сам: https://github.com/DCoderLT/Misc_Tools/blob/master/sh/sh.php . Это довольно примитивно, но он выполнил свою работу, когда мне это нужно.
Будущие соображения:
Какой PHP-Framework / CMS вы работаете там? Первым делом было бы получить там обновление. Вторая идея заключалась бы в том, чтобы удалить права на запись в этих каталогах, где ставится PHP-Shell. Третье, что я сделал бы, это удалить php-shell (попытаться найти файлы, которые не принадлежат вашей cms / framework).
удачи