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

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

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

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

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

Категории

Все категории
Loading categories
waf-bypass — Автоматизированный инструмент тестирования безопасности WAF, который обнаруживает ложные срабатывания и ложные пропуски, используя 15+ категорий полезных нагрузок, включая SQLi, XSS, RCE и GraphQL-инъекции. Поддерживает Docker, JSON-вывод и пользовательские полезные нагрузки. | Kitploit
Инструменты/GitHubGitHub/nemesida-waf/waf-bypass
Сканеры уязвимостейТестирование безопасности APIОбход WAFВеб-безопасностьТестирование на Проникновение
GitHubnemesida-waf/waf-bypass

waf-bypass

Автоматизированный инструмент тестирования безопасности WAF, который обнаруживает ложные срабатывания и ложные пропуски, используя 15+ категорий полезных нагрузок, включая SQLi, XSS, RCE и GraphQL-инъекции. Поддерживает Docker, JSON-вывод и пользовательские полезные нагрузки.

Репозиторий
1.5k1851 месяц назадПроверено Kitploit

Популярное

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

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

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

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

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

Инструмент обхода WAF

Инструмент обхода WAF — это инструмент с открытым исходным кодом для анализа безопасности любого WAF на предмет ложных срабатываний и пропусков с использованием предопределённых и настраиваемых полезных нагрузок. Проверьте свой WAF до того, как это сделает злоумышленник. Инструмент обхода WAF разработан командой Nemesida WAF при участии сообщества.

Инструмент обхода WAF

Не делайте ничего незаконного

Запрещено использовать в незаконных целях. Не нарушайте закон. Мы не несём ответственности за возможные риски, связанные с использованием данного программного обеспечения.

Как запустить

Запуск с помощью Docker

Последняя версия waf-bypass всегда доступна на Docker Hub. Её можно легко загрузить следующей командой:

root@kitploit:~
# docker pull nemesida/waf-bypass
# docker run nemesida/waf-bypass --host='example.com'

Запуск с помощью pipx

root@kitploit:~
# pipx install git+https://github.com/nemesida-waf/waf-bypass.git
# <pipx bin dir>/waf-bypass

Запуск непосредственно из исходного кода через CLI

root@kitploit:~
# git clone https://github.com/nemesida-waf/waf_bypass.git /opt/waf-bypass/
# python3 -m pip install -r /opt/waf-bypass/requirements.txt
# python3 /opt/waf-bypass/main.py --host='example.com'

Параметры

  • '--proxy' (--proxy='http://proxy.example.com:3128') — опция позволяет указать, куда подключаться вместо хоста.

  • '--header' (--header 'Authorization: Basic YWRtaW46YWRtaW4=' --header 'X-TOKEN: ABCDEF') — опция позволяет указать HTTP-заголовок для отправки со всеми запросами (например, для аутентификации). Допускается многократное использование.

  • '--user-agent' (--user-agent 'MyUserAgent 1/1') — опция позволяет указать HTTP User-Agent для отправки со всеми запросами, за исключением случаев, когда User-Agent задаётся полезной нагрузкой ("USER-AGENT").

  • '--block-code' (--block-code='403' --block-code='222') — опция позволяет указать HTTP-код состояния, который ожидается при блокировке WAF (по умолчанию 403). Допускается многократное использование.

Формат JSON

Пример спецификации вывода JSON:

root@kitploit:~
{
  "TARGET": "https://example.com", // defined by --host option
  "PROXY": {},                     // defined by --proxy option
  "HEADERS": {                     // defined by --header option
    "User-Agent": ""
  },
  "BLOCK-CODE": [                  // defined by --block-code option
    ...
  ],
  "THREADS": 50,                   // defined by --threads option
  "TIMEOUT": 30,                   // defined by --timeout option
  "EXCLUDE-DIR": [                 // defined by --exclude-dir option
    ...
  ],
  "FAILED": {                      // requests with failed processing status
    "MFD/7.json": {
      "BODY": "WBHTTPSConnectionPool(host='example.com', port=443): Read timed out. (read timeout=1)"
    },
    ...
  },
  "PASSED": {                      // passed requests
    "UWA/3.json": {
      "URL": "403 RESPONSE CODE"
    },
    ...
  },
  "FALSED": {                      // requests with false positive processing status
    ...
  },
  "BYPASSED": {                    // requests with false negative processing status
    "UWA/26.json": {
      "URL": "200 RESPONSE CODE"
    },
    ...
  },
  "TestRequest": {                // test requests with processing status, exclude passed
    "FAILED": {},
    "FALSED": {
        "UWA/3.json": {
        "URL": "403 RESPONSE CODE"
        },
        ...
    }
    
  },
  "CURL": {                       // cURL command to reproduce false positive and false negative requests
    "FALSED": {},
    "BYPASSED": {
      "UWA/26.json": {
        "URL": "curl -X GET -H 'Accept: */*' -H 'Accept-Encoding: gzip, deflate' -H 'Connection: keep-alive' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36' 'https://example.com/do.php#.png'"
      },
      ...
    }
  }
}

Полезные нагрузки

В зависимости от цели полезные нагрузки находятся в соответствующих папках:

  • FP — полезные нагрузки для ложных срабатываний
  • API — полезные нагрузки для тестирования API
  • CM — полезные нагрузки для кастомных HTTP-методов
  • GraphQL — полезные нагрузки для тестирования GraphQL
  • LDAP — полезные нагрузки для LDAP-инъекций
  • LFI — полезные нагрузки для включения локальных файлов
  • MFD — полезные нагрузки для multipart/form-data
  • NoSQLi — полезные нагрузки для NoSQL-инъекций
  • OR — полезные нагрузки для открытых перенаправлений
  • RCE — полезные нагрузки для удалённого выполнения кода
  • RFI — полезные нагрузки для включения удалённых файлов
  • SQLi — полезные нагрузки для SQL-инъекций
  • SSI — полезные нагрузки для серверных включений
  • SSRF — полезные нагрузки для подделки серверных запросов
  • SSTI — полезные нагрузки для инъекций в серверные шаблоны
  • UWA — полезные нагрузки для нежелательного доступа
  • XSS — полезные нагрузки для межсайтового скриптинга

Создание собственных полезных нагрузок

При составлении полезной нагрузки используются следующие зоны, метод и опции:

  • URL — путь запроса
  • ARGS — строка запроса
  • BODY — тело запроса
  • COOKIE — cookie запроса
  • USER-AGENT — user-agent запроса
  • REFERER — referer запроса
  • HEADER — заголовок запроса
  • METHOD — метод запроса
  • BOUNDARY — задаёт содержимое границы запроса. Применяется только к полезным нагрузкам в директории MFD.
  • ENCODE — задаёт тип кодирования полезной нагрузки (Base64, HTML-ENTITY, UTF-16) в дополнение к кодировке полезной нагрузки. Несколько значений указываются через пробел (например, Base64 UTF-16). Применяется только к зонам ARGS, BODY, COOKIE и HEADER. Не применяется к полезным нагрузкам в директориях API и MFD. Несовместим с опцией JSON.
  • JSON — указывает, что тело запроса должно быть в формате JSON
  • BLOCKED — указывает, должен ли запрос блокироваться (тестирование FN) или нет (FP)

За исключением некоторых случаев, описанных ниже, зоны независимы друг от друга и тестируются отдельно (т.е. если указаны 2 зоны, скрипт отправит 2 запроса, поочерёдно проверяя одну и вторую зону).

Для зон можно использовать суффикс %RND%, который позволяет сгенерировать произвольную строку из 6 букв и цифр. (например: param%RND=my_payload или param=%RND% или A%RND%B)

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

Директория API

Полезные нагрузки для тестирования API, находящиеся в этой директории, автоматически дополняются заголовком 'Content-Type: application/json'.

Директория MFD

Для полезных нагрузок MFD (multipart/form-data), находящихся в этой директории, необходимо указать BODY (обязательно) и BOUNDARY (опционально). Если BOUNDARY не задан, он будет сгенерирован автоматически (в этом случае для BODY нужно указать только полезную нагрузку без дополнительных данных ('... Content-Disposition: form-data; ...').

Если BOUNDARY указан, то содержимое BODY должно быть отформатировано в соответствии с RFC, но это допускает несколько полезных нагрузок в BODY, разделённых BOUNDARY.

В этой директории разрешены другие зоны (например, URL, ARGS и т.д.). Независимо от зоны, ко всем запросам будет добавлен заголовок 'Content-Type: multipart/form-data; boundary=...'.

Скачать инструмент
  • '--threads' (--threads=15) — опция позволяет указать количество параллельных потоков сканирования (по умолчанию 10).

  • '--timeout' (--timeout=10) — опция позволяет указать тайм-аут обработки запроса в секундах (по умолчанию 30).

  • '--exclude-dir' — исключить директорию полезных нагрузок (--exclude-dir='SQLi,XSS').

  • '--json-format' — опция, позволяющая отображать результат работы в формате JSON (полезно для интеграции инструмента с платформами безопасности). Если опция не указана, вывод будет в табличном формате (формат по умолчанию).

  • '--details' — отображать полезные нагрузки с ложными срабатываниями и пропусками. Несовместима с опцией --json-format.

  • '--no-progress' — не отображать индикатор выполнения.

  • '--curl-replay' — отображать команду cURL для воспроизведения запросов с ложными срабатываниями, пропусками или неудачными. Несовместима с опцией --json-format.