Так же, как предупреждение: ваш скрипт обработки загрузки сделает полную подрыв вашего сервера совершенно тривиальным:
- Вы слепо верите, что значение
$_FILES[...]['type']
установлено правильно - это значение полностьюпользовательский контроль, и они могут заполнить «image / jpeg» и загрузить любой тип файла, который они хотят - Вы слепо верите, что значение
$_FILES[...]['filename']
установлено правильно - опять же, это значение полностью находится под пользователемконтроль, и они могут заполнить "hackme.php", если они хотят - . Вы слепо записываете файл в свой каталог фотоальбома, но не проверяете, содержит ли предоставленное пользователем имя файла данные пути
Итак, что произойдет, если кто-то загрузит следующий файл:
$_FILES['uploadfile0']['type'] = 'image/gif';
$_FILES['uploadfile0']['filename'] = '../pwn_me.php';
Теперь вы с радостью поместили предоставленный пользователем PHP-скрипт НА ВАШ ВЕБ-СЕРВЕР и теперь можетеделайте все, что захотите.
Кроме того, ваши запросы к базе данных слепо вставляют в запросы одни и те же данные, оставляя вас широко открытыми для атак с использованием SQL-инъекций.Кроме того, вы не проверяете наличие конфликтов имен файлов, пока не переместите файл.Таким образом, кто-то может загрузить вредоносный скрипт, но сделать это только один раз для этого конкретного имени файла.Поздравляем, вы реализовали версионные атаки на своем сервере.Вы будете иметь «pwn_me.php», «pwn_me2.php», «pwn_me3.php», «my_little_pwnme.php» и т. Д.