Возможен ли взлом сайта через загрузку файла (для загрузки я разрешил загружать только картинки) но если кул хакер к примеру напишет какого то Трояна и назовет его к примеру image.jpg соответственно у него выйдет загрузить данный файл т.к. скрипт подумает что то картинка... - Вопрос будет ли таким образом идти заражение юзеров которые будут смотреть такую картинку? - Как можно не пропустить заливку подобного?
Только в IE прокатит и то на старом (сейчас вроде эту дыру заделали) причём только JS (на серверной стороне проблем не будет)
хули тупим? а проверить картинку на то, что она картинка, а не правильное расширешие просто имеет, не судьба?
QQQ Как проверять собрался, умненький ты наш? По первым байтам? Это не поможет. Тот же IE может трактовать файл как HTML, если в нем есть <html> сигнатура в любом месте файла. Независимо от расширения и MIME-типа, естессно. Давно пора... игнорировать MIME-тип с сервера - это было сильно.
А если складывать все загруженное в недоступную из вне директорию? Чтобы если это скрипт он не смог запуситься.
ладно. много ли ты настоящих jpeg'ов видел за свою жизнь, содеражащих в себе последовательность байт <html + <script?
Собственно на днях поднимались на Хабре уязвимости при закачке изображений и как с ними бороться. Может быть поможет. Первая часть. Вторая часть.
Нет, расширение файла давать по MIME-типу, и только те расширения, которые ты разрешил. Как дополнительную проверку, можно сделать, действительно ли это рисунок, но не вижу необходимости. Т.к. главное чтоб любой загружаемый файл не мог быть запущен как скрипт... Пусть он хоть какой битый будет.