Временное решение для загрузки файлов PHP для недавней уязвимости Flash - PullRequest
1 голос
/ 14 ноября 2009

Недавно была обнаружена уязвимость Flash * , которая допускает возможность злонамеренных атак, когда кто-либо загружает файл флэш-памяти или файл, встроенный во флэш-память (например, перегруженный gif).

Согласно статье, даже простое изображение может быть взломано.

В php типичные способы проверки типа файла - по расширению и по типу mime.

Используя простой пример изображения, как php правильно проверит файл (как рекомендуется в статье). Типы MIME могут быть подделаны, как и расширение, и, если файл является копируемым, какой обходной путь?

Ответы [ 2 ]

1 голос
/ 15 ноября 2009

Для случая изображения вам нужно будет проверить все данные в файле: это означает, что вам нужно открыть изображение, посмотреть, является ли это допустимый тип, распознать все порции данных, соответствующие типу файла, и удалить остальное, если есть.

Одним из вариантов будет использование GD для повторного сохранения изображения или пробная версия и удаление байтов в конце файла и проверка правильности изображения (опять же, с использованием GD). Конечно, вы можете попытаться проверить те файлы, которые, по вашему мнению, являются подозрительными, например, если вы обнаружите заголовок SWF (или все, если вы чувствуете себя параноиком).

0 голосов
/ 15 ноября 2009

Ищите заголовок SWF .

Более того, поищите истинный тип файла, который, как вы ожидаете, будет ресурсом. Другими словами, если расширение и тип MIME сообщают, что это изображение JPEG, и вы подтверждаете, что разрешаете этот тип файла, найдите заголовок JPEG .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...