Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CWFF — Créez votre liste de mots personnalisée pour le fuzzing | Kitploit
Outils/GitHubGitHub/d4vinci/cwff
ReconnaissanceCollecte d'InformationsSécurité WebFuzzingTests d'Intrusion
GitHubd4vinci/cwff

CWFF

Créez votre liste de mots personnalisée pour le fuzzing

Voir le dépôt
20451il y a 1 anVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CWFF - Listes de mots personnalisées pour le fuzzing

CWFF est un outil qui crée une liste de mots spéciale et de haute qualité pour le fuzzing / la découverte de contenu, à la vitesse la plus élevée possible en utilisant la concurrence, et il est fortement inspiré par la présentation Who, What, Where, When, Wordlist #NahamCon2020 de @tomnomnom.

Utilisation

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

positional arguments:
  domain                Site web cible (évidemment)

optional arguments:
  -h, --help            Affiche ce message d'aide et quitte
  --threads             Nombre maximum de threads concurrents à utiliser (par défaut : 1000)
  --github              Collecte les points d'accès depuis un dépôt GitHub donné (ex : https://github.com/google/flax)
  --subdomains          Extrait également les points d'accès des sous-domaines lors de la recherche dans la Wayback Machine !
  --recursive           Travaille récursivement sur les points d'accès extraits (ajoute plus de points d'accès mais parfois moins précis) !
  --js-libraries        Extrait également les points d'accès des bibliothèques JS, pas seulement du JS écrit par eux !
  --connected-websites  Inclut les points d'accès extraits des sites web connectés
  --juicy-files         Inclut les points d'accès extraits de fichiers juteux comme sitemap.xml et robots.txt
  --use-filter-model    Filtre les points d'accès obtenus avec un fichier filter_model
  -o                    Le répertoire de sortie pour les points d'accès et les paramètres. (par défaut : nom du site web)

Description (Important)

Donc, cela collecte essentiellement les points d'accès et les paramètres de la cible et de ses sous-domaines en utilisant plusieurs sources dont nous allons parler maintenant :

  1. Archive Wayback Machine : elle parcourt tous les enregistrements du site web cible et de ses sous-domaines et extrait les URL qui renvoient un code de statut 200.

    Beaucoup d'outils ne parcourent que la première page de Wayback pour gagner du temps, mais ici nous parcourons tous les enregistrements en peu de temps, mais cela rend aussi le processus plus long lorsque vous utilisez le flag --subdomains.

  2. Fichiers JavaScript collectés pendant la phase Wayback et ceux collectés en analysant la page cible à la recherche de balises <script>

    CWFF essaie de séparer les bibliothèques JS des fichiers JS réellement écrits par les développeurs du site, en examinant les noms des fichiers JS. Par défaut, CWFF extrait les points d'accès des fichiers JS écrits uniquement par les développeurs ; pour utiliser les bibliothèques JS (généralement peu utiles), activez le flag --js-libraries.

  3. Index CDX de Common Crawl et Alien Vault OTX (Open Threat Exchange)

  4. Si vous donnez à CWFF le flag --juicy-files, il extraira également les points d'accès de fichiers comme Sitemap.xml et robots.txt (pourrait en ajouter d'autres à l'avenir)

  5. Si vous donnez à CWFF un dépôt GitHub avec le flag --github, il extraira les chemins de ce dépôt via l'API GitHub (aucune clé API nécessaire).

    Pour être clair, CWFF n'utilisera que les chemins des fichiers et répertoires, il n'extraira donc pas les points d'accès à l'intérieur des fichiers eux-mêmes !

  6. Avec le flag --connected-websites, CWFF utilise l'API BuiltWith (nécessite une clé, mais elle est gratuite) pour extraire les sites web connectés à la cible à partir du profil de relations, puis extrait les points d'accès de ces sites web sources.

Après avoir collecté les points d'accès depuis toutes ces sources, si vous utilisez le flag --recursive, CWFF extrait récursivement des parties des points d'accès collectés.

  • Exemple : un point d'accès comme parseq/javadoc/1.1.0/com deviendra tous ces points d'accès :
    root@kitploit:~
    parseq/javadoc/1.1.0/com
    parseq/javadoc/1.1.0/
    parseq/javadoc/
    parseq/
    javadoc/
    1.1.0/
    com
    

Remarque : tous les points d'accès / paramètres collectés sont nettoyés et triés, sans doublons, pour obtenir un résultat unique.

Filtrage des résultats

Bien sûr, après toutes ces sources et ce travail, il y aura beaucoup de points d'accès indésirables / inutiles parmi les importants, et c'est là que le filtrage entre en jeu pour gagner du temps et des ressources.

Dans CWFF, vous pouvez détecter et supprimer les points d'accès indésirables en utilisant trois méthodes :

  • Supprimer les points d'accès qui se terminent par une chaîne donnée dans une liste (extensions par exemple).
  • Supprimer les points d'accès qui contiennent une chaîne donnée dans une liste de chaînes.
  • Et enfin, le grand : supprimer les points d'accès qui correspondent à une expression régulière donnée dans une liste.

Toutes ces options de filtre peuvent être définies en modifiant les variables dans le fichier filter_model.py, puis en utilisant le flag --use-filter-model au lancement de CWFF. Si vous ne savez pas comment définir ces variables, consultez les commentaires que j'ai laissés dans le fichier ; c'est celui que j'utilise principalement, et dans la capture d'écran, il a réduit le nombre de points d'accès collectés de 26 177 à 3 629. Si vous avez oublié d'utiliser le filtrage lors de l'exécution de CWFF, ne vous inquiétez pas, je pense à vous 😄

Vous pouvez utiliser le script filter.py pour filtrer les points d'accès que vous avez de la manière suivante, et il chargera automatiquement le fichier filter_model.py sans avoir à relancer CWFF :

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

Prérequis

  • Python 3.6+
  • Devrait fonctionner sur n'importe quel système d'exploitation, mais je ne l'ai testé que sur Linux Manjaro.
  • Les instructions suivantes

Installation

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

Contact

  • Twitter
  • Telegram

À faire

  • Fusionner les points d'accès récursivement
  • Extraire les mots uniques du site web en les comparant à la RFC.

Don

Si mon travail vous a été utile, n'hésitez pas à me remercier en m'offrant un café.

Coffee

Avertissement

CWFF est créé pour aider dans les tests de pénétration et n'est pas responsable de toute utilisation abusive ou illégale.

Copier un code de cet outil ou l'utiliser dans un autre outil est accepté à condition de mentionner la source :smile

Télécharger l’outil

Remarque : vous pouvez obtenir votre clé API depuis cette page et définir la variable dans le fichier API_keys.py.