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

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

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

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

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

Категории

Все категории
Loading categories
CWFF — Создайте свой собственный список слов для фаззинга | Kitploit
Инструменты/GitHubGitHub/d4vinci/cwff
РазведкаСбор информацииВеб-безопасностьФаззингТестирование на Проникновение
GitHubd4vinci/cwff

CWFF

Создайте свой собственный список слов для фаззинга

Репозиторий
204511 год назадПроверено Kitploit

Популярное

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

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

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

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

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

CWFF - Пользовательские списки слов для фаззинга

CWFF — это инструмент, который создает для вас специальный высококачественный список слов для фаззинга / обнаружения контента с максимально возможной скоростью, используя параллелизм, и он сильно вдохновлен @tomnomnom и его Who, What, Where, When, Wordlist #NahamCon2020.

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

root@kitploit:~
CWFF [-h] [--threads] [--github] [--subdomains] [--recursive] [--js-libraries] [--connected-websites] [--juicy-files] [--use-filter-model] [-o] domain

positional arguments:
  domain                Целевой веб-сайт (конечно)

optional arguments:
  -h, --help            Показать это справочное сообщение и выйти
  --threads             Максимальное количество одновременных потоков (по умолчанию: 1000)
  --github              Собрать конечные точки из указанного репозитория GitHub (например: https://github.com/google/flax)
  --subdomains          Извлекать конечные точки также из поддоменов при поиске в Wayback Machine!
  --recursive           Обрабатывать извлеченные конечные точки рекурсивно (добавляет больше конечных точек, но иногда менее точно)!
  --js-libraries        Извлекать конечные точки также из JS-библиотек, а не только из написанного ими JS!
  --connected-websites  Включить конечные точки, извлеченные из связанных веб-сайтов
  --juicy-files         Включить конечные точки, извлеченные из "сочных" файлов, таких как sitemap.xml и robots.txt
  --use-filter-model    Фильтровать конечные точки результата с помощью файла filter_model
  -o                    Каталог вывода для конечных точек и параметров. (По умолчанию: имя веб-сайта)

Описание (Важно)

Итак, по сути он собирает конечные точки и параметры цели и её поддоменов, используя множество источников, о которых мы сейчас поговорим:

  1. Archive Wayback Machine: он проходит по всем записям целевого веб-сайта и его поддоменов и извлекает URL-адреса, возвращающие код состояния 200.

Многие инструменты проходят только по верхней странице Wayback, чтобы сэкономить время, но здесь мы проходим по всем записям за короткое время, но это также увеличивает время работы при использовании флага --subdomains.

  1. JavaScript-файлы, собранные во время фазы Wayback, а также полученные путём парсинга целевой страницы на наличие тега <script>

CWFF пытается отделить JS-библиотеки от JS-файлов, фактически написанных разработчиками веб-сайта, анализируя имена JS-файлов. По умолчанию CWFF извлекает конечные точки только из JS-файлов, написанных разработчиками. Чтобы использовать JS-библиотеки (в основном бесполезно), активируйте флаг --js-libraries.

  1. Common Crawl CDX index и Alien Vault OTX (Open Threat Exchange)
  2. Если вы указали CWFF флаг --juicy-files, он также извлечёт конечные точки из таких файлов, как Sitemap.xml и robots.txt (в будущем могут быть добавлены и другие)
  3. Если вы передали CWFF репозиторий GitHub с помощью флага --github, он извлечёт пути из этого репозитория, используя GitHub API (ключ API не требуется).

Чтобы было ясно: CWFF будет использовать только пути к файлам и каталогам, то есть не будет извлекать конечные точки из содержимого самих файлов!

  1. При использовании флага --connected-websites CWFF использует API BuiltWith (требуется ключ, но он бесплатный) для извлечения связанных веб-сайтов с целью из их профиля связей, а затем извлекает конечные точки из исходного кода этих сайтов.

Примечание: вы можете получить свой ключ API на этой странице и указать переменную в файле API_keys.py.

После сбора конечных точек из всех этих источников, если вы использовали флаг --recursive, CWFF рекурсивно извлечёт части из собранных конечных точек.

  • Пример: конечная точка parseq/javadoc/1.1.0/com превратится в следующие конечные точки:
    root@kitploit:~
    parseq/javadoc/1.1.0/com
    parseq/javadoc/1.1.0/
    parseq/javadoc/
    parseq/
    javadoc/
    1.1.0/
    com
    

Примечание: все собранные конечные точки/параметры очищаются и сортируются без дубликатов для получения уникального результата.

Фильтрация результатов

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

В CWFF вы можете обнаружить и удалить нежелательные конечные точки тремя способами:

  • Удалить конечные точки, оканчивающиеся на любую строку из заданного списка (например, расширения).
  • Удалить конечные точки, содержащие любую строку из заданного списка строк.
  • И, наконец, самый мощный: удалить конечные точки, соответствующие любому регулярному выражению из заданного списка.

Все эти параметры фильтрации можно задать, установив переменные в файле filter_model.py, а затем использовать флаг --use-filter-model при запуске CWFF. Если вы не знаете, как задать эти переменные, посмотрите комментарии, которые я оставил в файле — это тот, который я чаще всего использую, и на скриншоте он уменьшил количество собранных конечных точек с 26177 до 3629. Если вы забыли использовать фильтрацию при запуске CWFF, не волнуйтесь, я вас прикрою 😄

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

root@kitploit:~
python filter.py wordlist.txt output.txt

Требования

  • Python 3.6+
  • Должен работать в любой операционной системе, но я тестировал только на Linux Manjaro.
  • Следующие инструкции

Установка

root@kitploit:~
python3 -m pip install -r requirements.txt
python3 cwff.py --help

Контакты

  • Twitter
  • Telegram

TODO

  • Слияние конечных точек рекурсивно
  • Извлечение уникальных слов сайта путём сравнения с RFC.

Пожертвования

Если моя работа была для вас полезной, вы можете отблагодарить меня, купив мне кофе.

Coffee

Отказ от ответственности

CWFF создан для помощи в тестировании на проникновение и не несёт ответственности за любое неправомерное использование или незаконные цели.

Копирование кода из этого инструмента или его использование в другом инструменте разрешено при условии указания источника :smile

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