Загрузка картинок товаров поставщика может ли ставить под угрозу безопасность сайта?
Каждый поставщик товаров имеет возможность на нашем сайте через свой кабинет загрузить свой каталог товаров. При загрузке товаров мы выкачиваем картинки по предоставленному поставщиком url и кладем в нужную папку.
Вопрос - если в катинку прошит какой-нибудь вредоносный код, может ли пострадать наш сайт и как от этого защититься?
Или же хранить картинки за пределами папок сервера, а на отдельном облачном сервисе?
Пока интересует два вопроса:
- могут ли пользователи, зашедшие на сайт подцепить вредоносный код загружая картинки;
- может ли наш сайт сам заразиться после загрузки картинки ?
В файле любого формата содержится служебная информация. Вместо нее вполне может оказаться и код вируса. Но для его запуска файл должен быть открыт уязвимым приложением (каким - зависит от вируса и формата файла).
Если вы уверены, что не будете открывать файлы такими приложениями, можете докачивать. Однако на вашем месте я бы перестраховался. Файлу лучше проверять антивирусом или пересохранять в другой формат "на лету".
Если это именно картинки...то достаточно сохранить файл с контролируемым именем и расширением, и НЕ допустить выполнение сервером через браузер, т.е. отдать как обычный статический файл...
Дальше...мы не можем контролировать действия пользователя...
xmoonlight, Тут вопрос вообще тогда в другом...главное защитить сам ресурс и отдачу с него файлов без "воздействия" на этот ресурс...
Так-то дофига тогда ситуаций, когда ты те же программы для windows скачиваешь...тебе везде пишут "проверено антивирусом" и тому подобное...но на 100% антивирусов не бывает...
Дальше уже задача пользователя о себе самому заботиться...
Тут же задача, безопасно сохранить файл и так же безопасно передать его пользователю...а дальше... каким образом пользователь будет использовать этот файл - совсем другая история...
Дальше уже задача пользователя о себе самому заботиться...
XSS (межсайтовый скриптинг) – одна из разновидностей атак на веб-системы, которая подразумевает внедрение вредоносного кода на определенную страницу сайта и взаимодействие этого кода с удаленным сервером злоумышленников при открытии страницы пользователем.
Это как раз и есть проблема ресурса.
P.S.S.: Это то же самое, что продавец в магазине продаёт нож и пытается гарантировать, что этим ножом никого не "пырнут"...
Вы это можете гарантировать будучи продавцом ножа???
Ваша задача передать его безопасно покупателю...дальше...философия...
проверяйте картинки по mime типу, картинка jpg\png, а не mp3 файл с расширением
могут поломать подвесить сервак при ресайзе, если нету проверки на разрешение изображения (разрешение 10 000 на 10 000 и больше) яля zip-bomb может уложить слабый сервак
Вопрос - если в катинку прошит какой-нибудь вредоносный код, может ли пострадать наш сайт и как от этого защититься?
Да. Может пострадать.
Защититься можно только написав фильтр с правилами для контроля "тела" загруженного файла, который будет проверять все файлы сразу же после их загрузки в "отстойник".
Относительно самого web-ресурса разве может?
Если только дальше после загрузки и дальнейшем использовании...но тут уж даже любой антивирус на 100% ничего не гарантирует...а Вы - тело проверяйте...На что проверять? Базу антивирусов использовать? Или как? Или где?
xmoonlight, Ну передам я тебе mime type картинки...а дальше в теле какое-нибудь фуфло...
А потом ты запустишь его, например, где нибудь уже у себя при каких-либо условиях где это исполнится...
Как я могу повлиять на таких???
Простой пример:
1. Качаешь какой-то типа "gif" файл...
2. Переименовываешь в какой нибудь PHP (для простоты понимания) - или сразу следующий пункт;
3. Запускаешь на каком-нибудь Апаче где в той директории выполняется gif как php...
4. К тебе залетает "шелл" и шлёт мне данные "куда залетел"...
5. Я имею к тебе доступ...