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

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

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

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

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

Категории

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

shfz

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

Репозиторий
6314 лет назадПроверено 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

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