Страницы

Поиск по вопросам

вторник, 4 июня 2019 г.

Загрузка файла на сервер - баги, уязвимости

На моем сайте есть форма для загрузки файла, в которой у пользователя есть возможность, написав комментарий, прикрепить файл. Загрузку файла я не контролирую: нет ограничения по размеру, по типу и т.п.
Что может злоумышленник сделать с такой загрузкой файла, где нет ни каких ограничений? Какие есть еще защиты кроме ограничения по размеру, типу?


Ответ

Злоумышленник при заливке произвольного файла к вам на сервер в принципе может все что угодно. Файл может быть скриптом php или другим видом cgi и дать злоумышленнику полный доступ на ваш хостинг. А может быть каким нибудь скриптом/выполнимым файлом, который сработает в браузерах ваших пользователей.
Защита:
Проверять тип файла и не по расширению, а по внутреннему содержимому. Если это картинки то в браузеры к пользователям они должны попадать только в виде Скрипт загружающий файлы должен исключить наличие символов / и .. в именах файлов. Что бы через него нельзя было залить файл в произвольную папку на сервере Папка в которую заливаются файлы должна быть защищена от выполнения скриптов из нее. Для этого надо в .htaccess в этой папке (для apache) написать следующее:
php_flag engine 0 RemoveHandler .php AddType "text/html" .php .cgi .pl .fcgi .fpl .phtml .shtml .php2 .php3 .php4 .php5 .asp .jsp Options -ExecCGI -Indexes

Комментариев нет:

Отправить комментарий