Проснувшись, я обнаружил, что во всех папках моего общего веб-хоста с разрешением 777 было два новых файла php. Не удалось прочитать код внутри файла - вот декодированная версия: http://pastie.org/779226 (что за ...?) Этот код был внедрен даже в некоторые файлы PHP.
Я не понимаю, КАК кто-то мог бы это сделать? Я знаю, что иметь разрешение 777 - не самая лучшая вещь, но как они вообще попали в мою систему папок.
Я просто программист на стороне клиента, было бы здорово, если бы у меня был совет, как этого избежать в будущем.
Ура.
Вот деобфусцированная версия скрипта: http://pastie.org/private/iobgt7aetg8mezoepucsg
Код, кажется, включает внешний PHP-код с другого веб-сайта и собирает при этом информацию о ваших посетителях.
Это могло произойти, например, если вы разрешаете загрузку файлов в каталог, доступный извне. Выполнение этого без надлежащей проверки опасно, так как злоумышленник может загрузить файл PHP (используя загрузку вашего изображения) с вредоносным кодом. Если веб-сервер настроен неправильно, код будет запущен по запросу.
Чтобы избежать подобных проблем, убедитесь, что:
readfile()
для обслуживания файла.Я могу придумать как минимум две возможности:
Чтобы их не допустить:
Если у вас есть доступ к некоторым журналам (журналам доступа из Apache и журналам FTP с любого FTP-сервера, запущенного на вашем веб-сайте), это может оказаться полезным, чтобы увидеть, что произошло.
Сомнительно, что им удалось сделать так много изменений с помощью простого изъяна в ваших скриптах, если только это не действительно широко открытый недостаток (например, у вас есть незащищенный скрипт, который только обертывает fopen () над всем, что нравится пользователю), поэтому я бы проверил журнал FTP в приоритете.