simplichio
4.09.2018 - 13:54
Мне надо дать возможность пользователям загружать изображения на сайт (jpg, gif – с анимацией, png)
Какие вы знаете методы безопасной загрузки?
Я знаю только один способ: Использовать
imageCreateFromJpeg
imageCreateFromGif
imageCreateFromPng
Проблема в том, что imageCreateFromGif убивает анимацию gif.
А про getimagesize вы ничего не слышали,да?
simplichio
4.09.2018 - 15:35
Вы говорите о поверке типа. Этого не достаточно. Возможно в smb.jpg встроить скрипт.
Да вы что. А встроив скрипт,кто размеры будет показывать?
раньше тоже заморачивался. потом перешел тупо на проверку расширения файла.
Zzepish
5.09.2018 - 09:42
deppпроверяю по mime. В .htaccess прописан запрет на запуск скриптов из места, куда бросаем файлы. Все
Цитата |
В .htaccess прописан запрет на запуск скриптов из места, куда бросаем файлы. Все |
О,так можно что ли?
А я читала заголовки exif,функцией проверяла
Zzepish
5.09.2018 - 13:21
Эли4каимхо - только так и нужно
Zzepish
6.09.2018 - 12:08
Эли4ка
В htaccess папки с файлами прописать:
Цитата |
php_flag engine off |
По идее скрипт нельзя привязывать к серверу. Может придется на Nginx поставить, а там нет штакселя. Или вообще с консоли.
mime подделывается на раз левой ногой.
Так что если подходить к вопросу суръёзно, нужны проверки. Иначе не скриптов, так мусора накидают всякого.
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.
Как раз на хбре в тему заметка
https://habr.com/post/422351/
Цитата |
Так что если подходить к вопросу суръёзно, нужны проверки. Иначе не скриптов, так мусора накидают всякого. |
Верно.И одной строчкой тут не отделаешься.
killer8080
6.09.2018 - 19:16
Цитата (Эли4ка @ 4.09.2018 - 18:24) |
Да вы что. А встроив скрипт,кто размеры будет показывать? |
getimagesize читает мета данные из заголовка файла, можно спокойно внедрить скрипт в EXIF или даже тупо дописав в конец файла.
Цитата (Zzepish @ 5.09.2018 - 08:42) |
проверяю по mime. В .htaccess прописан запрет на запуск скриптов из места, куда бросаем файлы. Все |
это имеет смысл только если не контролируешь расширение файлов и юзер может туда заливать файлы .php .phtml и т.д. В остальном это почти бессмысленная перестраховка.
simplichio
если даже тебе зальют картинку с внедренным шелом, сама по себе она опасности не представляет, запросы с расширением .jpg вебсервер интерпретатору не предаёт. Эксплуатация этого вектора возможна только при наличии параллельно уязвимости LFI, и в этом случае директива engine off совершенно бесполезна, она никак не помешает заинклюдить вредоносный файл.
ImageMagic не впервой грешит такими дырами, поэтому лучше старый добрый GD2
PS в древнем IE6 была XSS через картинки, при прямом открытии ссылки на изображение, если картинка воспринималась битой, ишак зачем то делал фолбек на html со всеми вытекающими
Дыру правда вскоре закрыли, и современные браузеры этим не грешат, но всё же ...