Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
cve-2003-0282 — Портативная утилита для извлечения ZIP-файлов с широкой поддержкой ОС, дешифрованием и исправлениями безопасности для обхода путей (path traversal) и уязвимостей символьных ссылок. | Kitploit
Инструменты/GitHubGitHub/sionnx/cve-2003-0282
Утилиты общего назначенияИнструменты шифрования/дешифрованияАнализ уязвимостейВосстановление ДанныхБезопасность Цепочки Поставок
GitHubsionnx/cve-2003-0282

cve-2003-0282

Портативная утилита для извлечения ZIP-файлов с широкой поддержкой ОС, дешифрованием и исправлениями безопасности для обхода путей (path traversal) и уязвимостей символьных ссылок.

Репозиторий
6 лет назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Это файл README для публичного выпуска от 22 мая 2004 года портативной программы извлечения zip-файлов UnZip из группы Info-ZIP (и связанных утилит).

unzip551.zip портативный UnZip, версия 5.51, исходный код unzip551.tar.Z то же, что выше, но в формате сжатого tar (compress) unzip551.tar.gz то же, что выше, но в формате gzip'd tar


ПРЕЖДЕ ЧЕМ СПРАШИВАТЬ: UnZip, его сопутствующая утилита Zip, а также связанные утилиты и вспомогательные файлы можно найти во многих местах; подробнее читайте файл "WHERE". Чтобы связаться с авторами с предложениями, отчётами об ошибках или исправлениями, продолжите чтение этого файла (README) и, если это часть дистрибутива исходного кода, файла "ZipPorts" в каталоге proginfo. Также в дистрибутивах исходного кода: прочитайте "BUGS" для списка известных ошибок, не-ошибок и возможных будущих ошибок; INSTALL для инструкций по сборке UnZip; и "Contents" для прокомментированного списка всех распространяемых файлов.


ОБЩАЯ ИНФОРМАЦИЯ

UnZip — это утилита для извлечения архивов, сжатых в формате .zip (также называемых "zip-файлами"). Хотя он высоко совместим как с утилитами PKWARE PKZIP и PKUNZIP для MS-DOS, так и с собственной программой Zip от Info-ZIP, нашими основными целями были портативность и функциональность, отличная от MS-DOS.

Эта версия UnZip портирована на огромное множество аппаратных платформ — от микрокомпьютеров до суперкомпьютеров — и операционных систем: Unix (множество разновидностей), VMS, OS/2 (включая версию DLL), Windows NT и Windows 95 (включая версию DLL), Windows CE (графическая версия), Windows 3.x (включая версию DLL), MS-DOS, AmigaDOS, Atari TOS, Acorn RISC OS, BeOS, Macintosh (графическая версия), SMS/QDOS, MVS, VM/CMS, FlexOS, Tandem NSK, Human68k (большей частью), AOS/VS (частично) и TOPS-20 (частично). Функции UnZip, отсутствующие в PKUNZIP, включают исходный код; извлечение по умолчанию с сохранением структуры каталогов (с возможностью отключения этой функции, а не наоборот); системно-зависимые расширенные атрибуты файлов; и, конечно, возможность работы в большинстве ваших любимых операционных систем. К тому же это бесплатно. :-)

Для дистрибутивов исходного кода см. основной файл Contents для списка включённого, и прочитайте INSTALL для инструкций по компиляции (включая специфические для ОС замечания). Файлы Contents отдельных операционных систем (например, vms/Contents) могут содержать важную информацию по компиляции в дополнение к объяснению того, какие файлы для чего нужны, поэтому обязательно прочитайте их. Некоторые порты имеют собственные специальные файлы README, поэтому обязательно ищите и их.

См. unzip.1 или unzip.txt для использования (или соответствующие документы UnZipSFX, ZipInfo, fUnZip и ZipGrep). Для VMS: unzip_def.rnh или unzip_cli.help могут быть скомпилированы в unzip.hlp и установлены как обычный справочный раздел VMS; см. vms/descrip.mms.

ИЗМЕНЕНИЯ И НОВЫЕ ВОЗМОЖНОСТИ

Выпуск 5.51 с исправлениями добавляет порт командной строки для CE, предназначенный для пакетной обработки. С интеграцией этого порта порт pUnZip был пересмотрен и "оживлён". Наиболее важные изменения для широкой публики — это ряд исправлений ошибок, в основном связанных с вопросами безопасности:

  • исправлена серьёзная ошибка в коде преобразования вывода текстового режима для 16-битных портов (16-битный MS-DOS, OS/2 1.x, некоторые варианты AMIGA, возможно другие), которая была внесена поддержкой Deflate64 в выпуске 5.5;
  • исправлена давняя ошибка в методе декомпрессии inflate, которая препятствовала правильному извлечению в некоторых редких случаях;
  • исправлены дыры в коде проверки обхода родительских каталогов (например: ".^C." проскальзывал через предыдущую версию проверочного кода);
  • исправлена уязвимость безопасности: проверка согласованности имён в локальном и центральном заголовках;
  • исправлена уязвимость безопасности: предотвращение перенаправления путей извлечения файлов извлечёнными символическими ссылками.

Основное дополнение в выпуске 5.5 — поддержка нового алгоритма Deflate64(tm) от PKWARE, который впервые появился в PKZIP 4.0 (опубликован в ноябре 2000 года). Как обычно, также были интегрированы другие исправления ошибок и чистка кода:

  • поддержка Deflate64 (метод сжатия Zip #9);
  • поддержка извлечения текстовых файлов переменной длины записи VMS на любой системе;
  • опциональная функция "дешёвого автозапуска" для SFX-заглушки;
  • исправления безопасности:
    • удаление ведущего слеша из сохранённых спецификаций пути;
    • удаление компонентов пути "../" родительских каталогов из имён извлекаемых файлов;
  • новая опция "-:" для разрешения буквального извлечения имён файлов, содержащих спецификации пути "../" родительских каталогов;
  • исправлена утечка файловых дескрипторов в коде DLL;
  • восстановлено извлечение ACL для OS/2 и WinNT, которое было сломано в 5.42.

Выпуск 5.42 с исправлениями устраняет больше ошибок и уточняет условия распространения:

  • удалён код unreduce.c и amiga/timelib.c, чтобы избавиться от последних ограничений распространения, выходящих за рамки лицензии Info-ZIP LICENSE, похожей на BSD;
  • новая замена timelib общего назначения (в настоящее время используется портом AMIGA);
  • более разумные правила отображения имён файлов UNIX с ведущей точкой на соглашение DOS 8.3;
  • исправлено обнаружение размера экрана в коде постраничного вывода MORE (было сломано для DOS/OS2/WIN32 в 5.41).

Выпуск 5.41 с исправлениями добавляет ещё один новый порт и исправляет некоторые ошибки.

  • новая лицензия, похожая на BSD;
  • новый порт Novell Netware NLM;
  • поддержка извлечения архивов с более чем 64 тыс. записей;
  • обработка атрибутов в порте VMS была сломана в UnZip 5.4;
  • поддержка дешифрования интегрирована в основной дистрибутив исходного кода.

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

  • новый порт IBM OS/390, производное UNIX (POSIX с кодировкой EBCDIC);
  • полный пересмотр порта MacOS;
  • изменены форматы листинга для увеличения полей размера файла с большим количеством цифр;
  • добавлена возможность восстанавливать атрибуты каталогов на MS-DOS, OS/2, WIN32;
  • включена поддержка символических ссылок на BeOS;
  • Unix: опциональная поддержка типов файлов Acorn, полезная для томов, экспортируемых через NFS;
  • несколько изменений/дополнений к API DLL;
  • графическая SFX-заглушка для Win16 (Windows 3.1) и Win32 (Windows 9x, Windows NT);
  • поддержка новых бесплатных сред компилятора GCC на WIN32;
  • множество исправлений ошибок обработки часовых поясов для WIN32, AMIGA, ...

Выпуск 5.32 добавляет два новых порта и исправление по крайней мере одной относительно серьёзной ошибки:

  • новый порт FlexOS;
  • новый порт Tandem NSK;
  • новая поддержка Visual BASIC (совместимость с DLL для Windows);
  • новая опция -T (установка временной метки zip-файла) для практически всех портов;
  • исправление для временных меток после 2038 года (например, 2097; вызывало сбой на DOS/Win95/NT);
  • исправление для необнаруженных "висячих" символических ссылок (т.е. без объекта);
  • исправление проблемы извлечения индексированных файлов VMS (сохранённых с Zip 2.0 или 2.1);
  • дальнейшие оптимизации производительности.

Выпуск 5.31 включал только небольшие исправления ошибок и опечаток, за исключением некоторых незначительных улучшений производительности.

Выпуск 5.3 добавил ещё больше портов и возможностей кроссплатформенной переносимости:

  • новый порт BeOS;
  • новый порт SMS/QDOS;
  • новый графический порт Windows CE;
  • порт VM/CMS полностью обновлён и протестирован;
  • порт MVS полностью обновлён и протестирован;
  • обновлённый порт DLL для Windows, с GUI WiZ, выделенным в отдельный пакет;
  • полная поддержка универсального времени (UTC или GMT) для согласованности между часовыми поясами;
  • кроссплатформенная поддержка 8-битных символов (ISO Latin-1, кодовые страницы OEM);
  • поддержка дескрипторов безопасности NT (ACL);
  • поддержка перезаписи расширенных атрибутов каталогов OS/2, если указана опция -o;
  • обновлённая упаковка пакетов Solaris/SVR4.

Чего (всё ещё!) не добавлено: поддержка многотомных архивов (также известная как "разбивка на дискеты") и унифицированный и более мощный интерфейс DLL. Это два высших приоритета для выпусков 6.x. Работа над первым, почти наверняка, уже началась к тому моменту, как вы это читаете. На этот раз мы серьёзно! Ещё бы. :-)

Хотя DLL по-прежнему в основном представляют собой беспорядок, DLL для Windows (16- и 32-битные) теперь имеют некоторую документацию и небольшой пример приложения. Обратите внимание, что теперь они должны быть совместимы с C/C++, Visual BASIC и Delphi. Более странные языки (FoxBase и т.п.) вероятно, полностью исключены.

Наконец, обратите внимание, что поддержка unshrinking теперь отключена по умолчанию, хотя исходный код всё ещё доступен (как и в случае с unreducing). Это было сделано по юридическим причинам, а не по техническим, и нет, нам это нравится не больше, чем вам. :-( Подробнее см. в файле COPYING.

ИНТЕРНЕТ-РЕСУРСЫ

Веб-сайт Info-ZIP находится по адресу http://www.info-zip.org/pub/infozip/ и содержит самую актуальную информацию о предстоящих выпусках, ссылки на двоичные файлы и часто задаваемые вопросы. (См. http://www.info-zip.org/pub/infozip/FAQ.html для последнего.) Файлы также можно получить по адресу ftp://ftp.info-zip.org/pub/infozip/ . Спасибо LEO (Мюнхен, Германия) за хостинг нашего основного сайта.

РАСПРОСТРАНЕНИЕ

Если у вас есть вопросы относительно распространения программного обеспечения Info-ZIP, будь то как есть, в качестве упаковки для коммерческого продукта или как неотъемлемой части коммерческого продукта, пожалуйста, прочитайте раздел Часто задаваемых вопросов (FAQ) прилагаемого файла COPYING.

Поскольку компиляторы C редки на некоторых платформах, а авторы имеют прямой доступ только к подмножеству поддерживаемых систем, другие могут пожелать предоставить готовые к запуску исполняемые файлы для новых систем. В целом с этим нет проблем; мы требуем только, чтобы такие дистрибутивы включали этот файл README, файл WHERE, файл COPYING (содержит информацию об авторских правах/распространении) и соответствующие файлы документации (unzip.txt и/или unzip.1 для UnZip и т.д.). Если локальная система предоставляет способ создания самораспаковывающихся архивов, в которых можно хранить вместе как исполняемые, так и текстовые файлы, это лучше всего (в частности, используйте UnZipSFX, если это вообще возможно, даже если он на несколько килобайт больше альтернатив); в противном случае мы предлагаем отдельный исполняемый файл UnZip и отдельный zip-файл, содержащий остальные текстовые и двоичные файлы. Если на целевой системе широко используется другой метод архивации (например, Zoo или LHa), он также может быть использован.

ОШИБКИ И НОВЫЕ ПОРТЫ: СВЯЗЬ С INFO-ZIP

Все отчёты об ошибках и исправления (только контекстные diff'ы, пожалуйста!) следует отправлять на [email protected], который является адресом электронной почты авторов Info-ZIP. (Обратите внимание, что на некоторых редких системах часть Zip-Bugs должна быть написана заглавными буквами, как показано; на большинстве систем, однако, работает и строчное написание "zip-bugs".) НЕ ПРИСЫЛАЙТЕ НАМ БОЛЬШИЕ БИНАРНЫЕ ФАЙЛЫ — НИКОГДА. Если вам нужно отправить нам проблемный архив, который оказался большим (> 20 КБ), сначала свяжитесь с нами для получения инструкций.

"Глупые вопросы", на которые нет адекватного ответа в документации, также следует направлять на Zip-Bugs, а не в глобальный форум, такой как Usenet. (Однако, пожалуйста, убедитесь, что на ваш вопрос НЕТ ответа в документации — было приложено много усилий, чтобы сделать её ясной и полной.)

Предложения по новым функциям можно обсудить на [email protected], списке рассылки для бета-тестеров Info-ZIP и заинтересованных сторон; однако сначала нужно подписаться (см. ниже). Мы не обещаем действовать по всем предложениям или даже по всем исправлениям, но если это что-то явно полезное, отправка необходимых исправлений напрямую на Zip-Bugs (в соответствии с инструкциями в файле ZipPorts) скорее всего приведёт к более быстрому ответу, чем просьба сделать это за нас — у авторов всегда катастрофически не хватает времени. (Пожалуйста, НЕ отправляйте исправления или закодированные zip-файлы в список Info-ZIP. ПОЖАЛУЙСТА, прочитайте файл ZipPorts, прежде чем отправлять любое большое исправление. Этот момент трудно переоценить...)

Если вы рассматриваете возможность портирования, вам следует не только прочитать файл ZipPorts, но также связаться с Zip-Bugs ДО начала работы, поскольку код постоянно обновляется за кулисами. (Например, порты VxWorks, VMOS и Netware когда-то были заявлены как находящиеся в разработке, хотя мы пока не видели актуальных исправлений.) Мы организуем отправку вам последних исходных кодов. Альтернативой является возможность того, что ваша тяжёлая работа будет спрятана в подкаталог и в основном проигнорирована, или полностью проигнорирована, если кто-то другой уже сделал этот порт (и вы удивитесь, как часто это случалось).

БЕТА-ТЕСТИРОВАНИЕ: ПРИСОЕДИНЕНИЕ К INFO-ZIP

Если вы хотите быть в курсе разработки нашего UnZip (и сопутствующей утилиты Zip), присоединиться к рядам бета-тестеров, добавить свои собственные мысли и вклады, или просто наблюдать, вы можете присоединиться к одному из наших списков рассылки. Есть список только для объявлений (Info-ZIP-announce) и общий список для обсуждения/тестирования (Info-ZIP). Вы должны быть подписчиком, чтобы публиковать сообщения, и вы можете подписаться через ссылки на нашей странице часто задаваемых вопросов:

root@kitploit:~
    http://www.info-zip.org/pub/infozip/FAQ.html#lists

(Обратите внимание, что на конец мая 2004 года списки недоступны в связи с переносом на новый сайт; мы надеемся восстановить их в ближайшее время. А пока...) Не стесняйтесь использовать нашу веб-страницу для отчётов об ошибках для сообщений об ошибках и вопросов, на которые нет ответа на странице FAQ выше:

root@kitploit:~
http://www.info-zip.org/zip-bug.html

Также существует закрытый список рассылки для внутренних обсуждений нашей основной команды разработчиков. Этот список теперь держится в секрете, чтобы предотвратить его затопление спам-сообщениями.

-- Грег Рёлофс (иногда известный как Cave Newt), главный разработчик UnZip, вдохновение от Дэвида Киршбаума, который был автором этого текста.

-- Кристиан Шпилер (сокращённо: SPC), текущий координатор сопровождения UnZip, применил самые последние изменения.

Скачать инструмент