Взлом PHP eval(gzinflate(base64_decode(..))) - как предотвратить его повторение?

Недавно у нас был взломан веб-сайт, на котором в файл index.php был вставлен некоторый код PHP, который выглядел примерно так:

eval (gzinflate(base64_decode('s127ezsS/...bA236UA1')));

Код вызывал включение другого файла PHP (cnfg.php), что приводило к отображению спама, связанного с фармацевтикой (но видимого только для googlebot и др.). Это похоже на фармак-хак для WordPress, за исключением того, что мы не запускаем WordPress. С тех пор код был удален, но я хотел бы предотвратить такие случаи в будущем.

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

Каковы некоторые потенциальные дыры в безопасности, которые позволили бы загружать эти файлы PHP? И что я могу сделать, чтобы предотвратить это в будущем?

1 ответ

Для этой проблемы: http://www.eukhost.com/forums/f42/disabling-dangerous-php-functions-6020/

Если в вашем коде используется EVAL, вам действительно нужно санировать пользовательский ввод: какой метод лучше всего санировать пользовательский ввод с помощью PHP? и http://www.owasp.org/index.php/Category:Input_Validation

Для большей безопасности: http://www.owasp.org/index.php/Main_Page

Другие вопросы по тегам