Недавно у меня был сайт WordPress, содержащий вредоносный код, сохраненный в виде файла PNG, но загруженный в мой файл шаблона через @include_once('images/sidebar2.png');
который затем интерпретируется как PHP.
Я пытался (безуспешно) найти способ предотвратить эту деятельность. Я могу заблокировать выполнение PHP в папке, но это не помогает этому сценарию. Я также могу заставить тип MIME, но это также не делает этого.
Можно ограничить PHP включает в себя .php
только файлы? Есть другие идеи?
Просто выстрел из бедра: заменить все ваши include_once
ссылки в вашем шаблоне с include_once_secure
а также
function include_once_secure($fileName) {
if (strtolower(pathinfo($fileName, PATHINFO_EXTENSION))=='php') {
include_once($fileName);
} else {
//here you could throw an error or exception
}
}
Других решений пока нет …