![Может ли zip-файл быть исполняемым?](https://rvso.com/image/1263744/%D0%9C%D0%BE%D0%B6%D0%B5%D1%82%20%D0%BB%D0%B8%20zip-%D1%84%D0%B0%D0%B9%D0%BB%20%D0%B1%D1%8B%D1%82%D1%8C%20%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D0%BD%D1%8F%D0%B5%D0%BC%D1%8B%D0%BC%3F.png)
Может ли zip-файл быть исполняемым? Например, может ли быть вирус в форме zip-файла. Очевидно, что вирус может быть внутри zip-файла, но может ли сам zip-файл исполняться?
Причина, по которой я спрашиваю, заключается в том, что у меня есть веб-сайт, который в настоящее время допускает только расширения файлов jpg, jpeg, png и gif, и сегодня у меня возникла идея разрешить людям загружать пакеты иконок, но пакеты иконок должны быть в формате zip-архива, поскольку в них будет очень много изображений.
Мне не нужно, чтобы мой сайт был заражен вирусами.
решение1
Теоретически, некоторые инструменты для распаковки zip-файлов могут иметь уязвимости, которые могут привести к выполнению некоторого кода. Однако маловероятно, что это ваш случай. Инструменты распаковки для вашего языка программирования, вероятно, не имеют таких уязвимостей, и если веб-сервер работает под управлением UNIX-подобной операционной системы (например, Linux), вирусы Windows в любом случае не будут выполняться.
Но вам также следует проверить каждый путь к файлу при извлечении файлов из zip-архива, так как это может быть абсолютный путь или файл с ..
компонентами (две точки), если библиотека распаковки не проверяет это по умолчанию (например, Pythonzip-файл(модуль не существовал до выхода Python 2.7.4). В противном случае файлы можно извлечь в другое место на диске.
решение2
При попытке распаковать zip-архив могут возникнуть некоторые проблемы: