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

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

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

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

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

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/shfz/shfz
Динамический анализ (песочница)Анализ уязвимостейВеб-безопасностьФаззинг
GitHubshfz/shfz

shfz

TypeScript сценарие-ориентированный фреймворк для фаззинга веб-приложений

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

Популярное

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

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

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

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

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

Статус рабочего процесса GitHub лицензия релиз загрузки

shfz

Инструмент для фаззинга веб-приложений на основе сценариев, поддерживающий генерацию фазза с помощью генетического алгоритма.

Возможности

  • Лёгкая настройка тестов фаззинга с помощью сценариев на JavaScript / TypeScript
  • Сторонние пакеты можно использовать в скриптах сценариев
  • Генетический алгоритм генерации фазза увеличивает покрытие кода
  • Высокая совместимость с CI, автоматическая публикация отчёта в GitHub Issue
  • Автоматическое обнаружение ошибок трейсера помогает исправлять баги
  • Установка

    Скачайте бинарник со страницы Releases или скомпилируйте из исходников.

    Linux (amd64)

    root@kitploit:~
    $ curl -Lo shfz.tar.gz https://github.com/shfz/shfz/releases/download/v0.0.3/shfz_0.0.3_linux_amd64.tar.gz
    $ tar -zxvf shfz.tar.gz
    $ sudo mv shfz /usr/local/bin/
    $ sudo chmod +x /usr/local/bin/shfz
    

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

    1. Создайте сценарий

    Для запуска фаззинга с этим инструментом необходимо создать сценарий (который вызывает HTTP-запросы к веб-приложению, автоматически встраивая фазз в параметры запроса, такие как username, password).

    Обратитесь к shfz/shfzlib за информацией о написании сценариев.

    1. Установите трейсер в веб-приложение (только для Flask)

    Для генерации фазза генетическим алгоритмом и автоматического обнаружения ошибок необходимо установить библиотеку-трейсер shfz/shfz-flask в веб-приложение.

    В настоящее время библиотека-трейсер совместима только с Python Flask. (в будущем поддержка фреймворков будет расширена)

    1. shfz server

    см. Сервер

    1. shfz run

    см. Запуск

    1. Получите результат

    см. Результат

    Сервер

    Для агрегации результатов фаззинга или генерации фазза с помощью генетического алгоритма необходимо запустить сервер.

    root@kitploit:~
    $ shfz server
    

    По умолчанию HTTP-сервер запускается на порту 53653 на локальном хосте.

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

    Запуск

    После запуска сервера укажите файл сценария в другом терминале и выполните фаззинг.

    root@kitploit:~
    $ shfz run -f scenario.js -n 100 -p 3 -t 30
    [+] Finish
    

    Параметры

    • -f, --file файл сценария (обязательно)
    • -n, --number общее количество выполнений (по умолчанию 1)
    • -p, --parallel количество параллельных выполнений (по умолчанию 1)
    • -t, --timeout таймаут выполнения сценария (секунд) (по умолчанию 30)

    Результат

    Вы можете получить результат, отправив запрос к эндпоинту /data сервера во время или после фаззинга.

    root@kitploit:~
    $ curl -s http://localhost:53653/data | jq
    
    {
      "status": [
        {
          "name": "login",
          "UsedFuzzs": [
            {
              "id": "0000",
              "fuzz": [
                {
                  "name": "user",
                  "text": "abcabc"
                }
              ],
    ...
    

    Интеграция с CI

    Вы также можете установить shfz на локальную машину и запускать фаззинг, но мы рекомендуем запускать shfz на CI.

    GitHub Actions

    См. demo-webapp и его workflow фаззинга

    1. Создайте сценарий фаззинга в каталоге /fuzz.

    https://github.com/shfz/demo-webapp/tree/main/fuzz

    root@kitploit:~
          - uses: actions/setup-node@v2
            with:
              node-version: "16"
          - name: настройка сценария фаззинга
            run: |
              cd fuzz
              npm i
              ./node_modules/typescript/bin/tsc scenario.ts
              file scenario.js
    
    1. Запустите веб-приложение (с помощью docker-compose).
    root@kitploit:~
          - name: настройка веб-приложения
            run: |
              docker-compose build
              docker-compose up -d
              docker-compose ps -a
    

    Если это веб-приложение создано на Python Flask, установите shfz/shfz-flask

    Примечание.

    Если вы используете docker-compose для запуска веб-приложения на Linux, необходимо включить host.docker.internal.

    root@kitploit:~
        extra_hosts:
          - "host.docker.internal:host-gateway"
    

    И shfztrace инициализируется с fuzzUrl="http://host.docker.internal:53653"

    root@kitploit:~
    from flask import *
    from shfzflask import shfztrace
    
    app = Flask(__name__)
    shfztrace(app, fuzzUrl="http://host.docker.internal:53653")
    
    1. Установите и запустите shfz

    используйте shfz-actions-setup

    root@kitploit:~
          - name: Установка SHFZ
            uses: shfz/[email protected]
            with:
              version: "0.0.3"
    
          - name: запуск фаззинга
            run: shfz run -f fuzz/scenario.js -n 100
    
    1. Отчёт о результатах в Issue и экспорт данных фаззинга в артефакты Actions

    используйте shfz-actions-setup

    root@kitploit:~
          - name: Отчёт SHFZ
            uses: shfz/[email protected]
            with:
              path: "/app"
    
    1. (Опционально) Экспорт лога приложения в артефакты Actions
    root@kitploit:~
          - name: экспорт лога приложения
            run: docker logs demo-webapp_app_1 > app.log
          - name: выгрузка артефакта
            uses: actions/upload-artifact@v2
            with:
              name: app.log
              path: ./app.log
    

    изображение: Flaticon.com

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