La plupart des gens apprennent à utiliser ffuf de la même façon : ils copient une commande sur un aide-mémoire, la lancent sur une cible et récupèrent 3 000 résultats qui affichent tous Status: 200. Aucun n'est réel. ffuf est un fuzzer web rapide écrit en Go, et sa véritable force n'est pas la vitesse mais le filtrage, celui qui transforme ce mur de déchets en quatre chemins qui comptent vraiment. Cette compétence sépare un scan inutile d'une trouvaille que vous pouvez documenter dans un rapport de test d'intrusion.
Ce guide couvre l'installation, le mot-clé FUZZ, le filtrage des réponses et les modes de fuzzing qui vont bien au-delà du brute-force de répertoires. Chaque commande ci-dessous a été exécutée sur une cible réelle et chaque bloc de sortie est authentique, pas une approximation. Quand vous voudrez votre propre cible, notre lab Corporate Directory Hunt est un site d'entreprise accessible depuis le navigateur, avec une zone d'administration cachée, conçu exactement pour cette technique.
En bref : ffuf (« Fuzz Faster U Fool ») est un fuzzer web écrit en Go qui remplace le mot-clé FUZZ n'importe où dans une requête par les entrées d'une liste de mots. Lancez ffuf -w liste.txt -u http://cible/FUZZ pour découvrir des chemins cachés, puis éliminez les faux positifs avec -fs (filtrage par taille) ou -ac (auto-calibrage). Comme FUZZ peut se placer dans une URL, un en-tête ou des données POST, ffuf fuzze aussi les paramètres, les hôtes virtuels et les formulaires de connexion.
Qu'est-ce que ffuf ?
ffuf est un fuzzer web rapide écrit en Go qui découvre du contenu caché en substituant les entrées d'une liste de mots dans n'importe quelle partie d'une requête HTTP. Vous marquez l'endroit à tester avec le mot-clé FUZZ, vous fournissez une liste de mots, et l'outil signale les substitutions que le serveur traite différemment des autres.
Le nom est un acronyme de « Fuzz Faster U Fool », ce qui vous donne une idée du sérieux avec lequel le projet se prend. L'outil existe depuis novembre 2018, est sous licence MIT et compte environ 16 600 étoiles sur GitHub. La version actuelle au moment de la rédaction est la v2.2.1, publiée en juillet 2026.
Kali Linux décrit le paquet comme un « fuzzer web rapide écrit en Go qui permet la découverte classique de répertoires, la découverte d'hôtes virtuels (sans enregistrement DNS) et le fuzzing de paramètres GET et POST ». Cette énumération est l'essentiel. La plupart des outils de découverte de contenu se contentent de parcourir des chemins. ffuf considère la requête entière comme fuzzable.
Cette seule décision de conception explique pourquoi l'outil reste utile bien après que vous ayez dépassé le brute-force de répertoires :
http://cible/FUZZtrouve les répertoires et fichiers cachéshttp://cible/api?FUZZ=1trouve les paramètres de requête non documentés-H "Host: FUZZ.cible.com"trouve les hôtes virtuels sans enregistrement DNS-d "user=FUZZ&pass=x"énumère les noms d'utilisateur valides sur un formulaire de connexion
Même outil, mêmes options, quatre missions différentes. Une fois le mot-clé FUZZ compris, tout le reste de l'outil n'est que du filtrage.
Comment installer ffuf
ffuf est livré avec Kali Linux et Parrot OS. S'il manque, ou si vous êtes sur un autre système, choisissez la ligne qui correspond à votre configuration.
Kali, Debian et Ubuntu
sudo apt update && sudo apt install ffuf
macOS et Windows
brew install ffuf # macOS
scoop install ffuf # Windows, Scoop
winget install ffuf.ffuf # Windows, winget
Oui, ffuf tourne nativement sous Windows. C'est un binaire Go unique sans dépendance d'exécution : ni WSL obligatoire, ni environnement Python à batailler.
Directement depuis les sources
Les paquets des distributions sont toujours en retard. Pour obtenir la dernière version, il vous faut Go 1.20 ou plus récent :
go install github.com/ffuf/ffuf/v2@latest
Le binaire atterrit dans ~/go/bin/. Ajoutez ce dossier à votre PATH si le shell ne trouve pas ffuf ensuite. Attention au /v2 dans le chemin du module : l'oublier récupère une version v1 vieille de plusieurs années, une erreur d'installation classique.
Vérifier que tout fonctionne
ffuf -V
N'importe quelle version de la branche 2.x correspondra aux exemples présentés ici. Les builds installés avec go install affichent une chaîne de version de développement plutôt que le tag de release, car ffuf dérive sa version du tag git et une installation par module n'en a pas. C'est cosmétique, pas une installation cassée.
Votre premier scan ffuf
Chaque scan a besoin de deux choses : une liste de mots avec -w et une URL avec -u contenant le mot FUZZ. Rien d'autre n'est obligatoire.
ffuf -w /usr/share/wordlists/dirb/common.txt -u http://cible.com/FUZZ
ffuf affiche une bannière ASCII, un résumé de configuration, puis les résultats au fur et à mesure. Voici l'en-tête réel d'un scan lancé contre un site d'entreprise de test :
:: Method : GET
:: URL : http://127.0.0.1:8088/FUZZ
:: Wordlist : FUZZ: /home/kali/words.txt
:: Follow redirects : false
:: Calibration : false
:: Timeout : 10
:: Threads : 40
:: Matcher : Response status: 200-299,301,302,307,401,403,405,500
Deux valeurs par défaut méritent d'être mémorisées. ffuf lance 40 threads simultanés, quatre fois plus que les 10 de Gobuster, ce qui explique l'essentiel de sa réputation de rapidité. Et le matcher par défaut affiche toute réponse comprise dans 200-299,301,302,307,401,403,405,500 : les 404 sont masquées et tout le reste est signalé.
Voici maintenant les résultats de ce même scan, 15 mots lancés contre la cible :
dashboard [Status: 200, Size: 162, Words: 14, Lines: 1, Duration: 0ms]
uploads [Status: 301, Size: 101, Words: 4, Lines: 1, Duration: 1ms]
images [Status: 200, Size: 162, Words: 14, Lines: 1, Duration: 1ms]
backup [Status: 301, Size: 101, Words: 4, Lines: 1, Duration: 2ms]
login.php [Status: 200, Size: 119, Words: 6, Lines: 1, Duration: 2ms]
contact [Status: 200, Size: 162, Words: 14, Lines: 1, Duration: 3ms]
admin [Status: 301, Size: 101, Words: 4, Lines: 1, Duration: 3ms]
about [Status: 200, Size: 162, Words: 14, Lines: 1, Duration: 3ms]
portal [Status: 200, Size: 162, Words: 14, Lines: 1, Duration: 0ms]
config.php [Status: 200, Size: 162, Words: 14, Lines: 1, Duration: 1ms]
js [Status: 200, Size: 162, Words: 14, Lines: 1, Duration: 1ms]
index [Status: 200, Size: 162, Words: 14, Lines: 1, Duration: 2ms]
api [Status: 200, Size: 162, Words: 14, Lines: 1, Duration: 2ms]
css [Status: 200, Size: 162, Words: 14, Lines: 1, Duration: 3ms]
secret [Status: 200, Size: 162, Words: 14, Lines: 1, Duration: 4ms]
Quinze mots en entrée, quinze résultats en sortie. Chaque mot « existe », y compris secret et dashboard, qui n'existent pas. C'est le moment où la plupart des débutants apprennent à filtrer, ou abandonnent discrètement l'outil.
Lisez les colonnes avant de lire les résultats. Status est le code HTTP, Size la taille du corps de la réponse en octets, Words et Lines comptent le contenu du corps, et Duration mesure l'aller-retour. Size, Words et Lines existent uniquement pour vous donner quelque chose à filtrer quand Status ne sert à rien, ce qui est exactement la situation ci-dessus.
Éliminer le bruit avec les filtres
Le scan ci-dessus est tombé sur un soft 404 : un serveur qui répond aux pages manquantes par une page « page introuvable » avenante et un code HTTP 200 au lieu d'un vrai 404. Les codes de statut ne veulent plus rien dire, alors on filtre sur le corps de la réponse.
Regardez à nouveau les faux résultats. Ils partagent tous Size: 162, parce qu'ils sont tous la même page. Les vraies trouvailles ont des tailles différentes : 101 et 119. Filtrez donc 162 avec -fs :
ffuf -w words.txt -u http://cible.com/FUZZ -fs 162
login.php [Status: 200, Size: 119, Words: 6, Lines: 1, Duration: 0ms]
uploads [Status: 301, Size: 101, Words: 4, Lines: 1, Duration: 0ms]
admin [Status: 301, Size: 101, Words: 4, Lines: 1, Duration: 1ms]
backup [Status: 301, Size: 101, Words: 4, Lines: 1, Duration: 2ms]
De quinze résultats à quatre, et les quatre sont authentiques. Voilà toute l'astuce, et c'est la chose la plus utile à retenir sur cet outil.
Filtres et matchers
ffuf vous donne deux jeux d'options en miroir. Les filtres (-f*) masquent des réponses. Les matchers (-m*) n'affichent que certaines réponses. Mêmes critères, direction opposée.
| Critère | Filtre (masquer) | Matcher (afficher) |
|---|---|---|
| Code de statut HTTP | -fc 404,403 | -mc 200,301 |
| Taille de la réponse en octets | -fs 162 | -ms 4096 |
| Nombre de mots | -fw 14 | -mw 42 |
| Nombre de lignes | -fl 1 | -ml 8 |
| Expression régulière sur le corps | -fr "not found" | -mr "admin" |
| Temps de réponse | -ft >100 | -mt >100 |
Commencez par -fs, car une page d'erreur statique fait exactement le même nombre d'octets à chaque fois. Passez à -fw quand la page intègre un élément variable comme un horodatage ou le chemin demandé : le nombre de mots reste alors stable pendant que le nombre d'octets dérive. Utilisez -fr quand rien de numérique n'est stable mais que la formulation l'est : -fr "Page not found" supprime le bruit quelle que soit la taille.
Une option souvent ignorée : -mc all. Elle désactive complètement le matcher de statut par défaut et affiche toutes les réponses, 404 comprises. Associez-la à un filtre de taille quand vous voulez voir tout ce que fait le serveur avant de décider ce qui est intéressant.
Laisser ffuf s'en charger avec -ac
Trouver la taille du bruit à la main devient vite fastidieux. L'option -ac automatise la manœuvre : avant le vrai scan, ffuf demande quelques chemins qui n'existent certainement pas, mesure ce qui revient et construit les filtres à votre place.
ffuf -w words.txt -u http://cible.com/FUZZ -ac
En pratique, faites de -ac votre réglage par défaut et ne repassez à un -fs manuel que lorsque l'auto-calibrage se trompe. C'est rare. Là où il peine, c'est face à un serveur qui fait varier sa page d'erreur à chaque requête : -fr sur une phrase fixe de la page devient alors l'option fiable.
Fuzzer au-delà des répertoires
Le brute-force de répertoires est l'exemple des tutoriels, pas la raison d'utiliser ffuf. FUZZ fonctionne partout dans la requête, et les quatre missions ci-dessous sont celles qui justifient la place de l'outil dans un workflow.
Extensions de fichiers
Une liste de mots brute ne teste que des noms de répertoires. L'option -e ajoute des extensions à chaque mot pour tester aussi les fichiers :
ffuf -w words.txt -u http://cible.com/FUZZ -e .php,.bak,.txt -fs 162
login.php [Status: 200, Size: 119, Words: 6, Lines: 1, Duration: 0ms]
admin [Status: 301, Size: 101, Words: 4, Lines: 1, Duration: 0ms]
uploads [Status: 301, Size: 101, Words: 4, Lines: 1, Duration: 4ms]
config.php.bak [Status: 200, Size: 83, Words: 7, Lines: 5, Duration: 0ms]
backup [Status: 301, Size: 101, Words: 4, Lines: 1, Duration: 4ms]
Voilà config.php.bak, et dans ce cas il contenait des identifiants de base de données en clair. Il vaut la peine de comprendre précisément pourquoi cela a fonctionné, car c'est un piège : -e ajoute l'extension au mot, donc cette trouvaille exigeait config.php dans la liste pour produire config.php.bak. Une liste contenant seulement config aurait testé config.bak et n'aurait rien trouvé. La chasse aux fichiers de sauvegarde réclame une liste de noms de fichiers complets, pas de simples noms de répertoires.
Paramètres de requête cachés
Les paramètres non documentés sont l'endroit où vivent les bugs intéressants : interrupteurs de débogage, références d'identifiants, drapeaux de fonctionnalités que personne n'a retirés. Placez FUZZ sur le nom du paramètre et donnez à chaque requête une valeur jetable :
ffuf -w params.txt -u "http://cible.com/api/status?FUZZ=1" -fs 16
debug [Status: 200, Size: 63, Words: 8, Lines: 1, Duration: 0ms]
id [Status: 200, Size: 29, Words: 4, Lines: 1, Duration: 1ms]
Ici, -fs 16 filtre la réponse de 16 octets que renvoie le point de terminaison quand un paramètre est ignoré. Deux paramètres ont modifié la sortie : id, à tester pour des références directes non sécurisées à des objets, et debug, qui a renvoyé le numéro de build et le nom de la base de données. Aucun des deux n'apparaissait dans la moindre documentation.
Hôtes virtuels
Beaucoup de serveurs hébergent plusieurs sites sur une seule IP et choisissent entre eux grâce à l'en-tête Host. Ces sites supplémentaires n'ont souvent aucun enregistrement DNS : rien d'autre que le fuzzing de l'en-tête ne les trouvera.
ffuf -w hosts.txt -u http://cible.com/ -H "Host: FUZZ.cible.com" -fs 68
staging [Status: 200, Size: 83, Words: 6, Lines: 1, Duration: 1ms]
L'URL ne change jamais, donc chaque requête qui ne correspond pas à un vrai vhost renvoie le site par défaut avec une taille constante. Filtrez cette taille et les survivants sont les hôtes cachés. Les environnements de préproduction et de développement sont la prise habituelle, et ce sont généralement les maillons les plus faibles de la machine : code plus ancien, mode débogage activé, vraies données de production.
Données POST et formulaires de connexion
FUZZ fonctionne aussi dans le corps de la requête. Voici une énumération de noms d'utilisateur contre un formulaire de connexion qui laisse fuiter la différence entre un mauvais mot de passe et un utilisateur inconnu :
ffuf -w users.txt -u http://cible.com/login.php -X POST \
-d "user=FUZZ&pass=test" \
-H "Content-Type: application/x-www-form-urlencoded" \
-fr "No such user"
admin [Status: 200, Size: 51, Words: 4, Lines: 1, Duration: 1ms]
Chaque nom d'utilisateur invalide a renvoyé « No such user » et a été filtré par -fr. Le seul compte survivant a répondu « Wrong password », ce qui confirme son existence. Si vous voulez la méthodologie complète autour de ce type de sondage d'API, le chapitre sur le fuzzing d'API de notre cours sur la sécurité des API montre où cela s'inscrit dans un audit réel.
Travailler avec plusieurs listes de mots
Passez -w plusieurs fois, étiquetez chaque liste avec un mot-clé personnalisé, et ffuf fuzzera plusieurs positions en même temps :
ffuf -w params.txt:PARAM -w users.txt:VAL \
-u "http://cible.com/api/status?PARAM=VAL" -fs 16 -v
L'option -mode décide de la façon dont les listes sont combinées :
- clusterbomb (par défaut) - toutes les combinaisons de toutes les listes. Deux listes de 100 mots produisent 10 000 requêtes. À utiliser quand vous n'avez aucune idée des paires valides.
- pitchfork - les listes avancent au même rythme : la première avec la première, la deuxième avec la deuxième. À utiliser pour des données appariées, comme des noms d'utilisateur et leurs mots de passe issus d'une fuite.
- sniper - une seule liste, testée tour à tour à chaque position FUZZ plutôt que toutes en même temps.
Notez le -v dans cette commande. Avec une seule liste, ffuf affiche le mot qui a fonctionné. Avec plusieurs, la ligne de résultat ne montre que les métriques et vous ne pouvez pas savoir quelle combinaison l'a produite. Le mode verbeux ajoute l'URL complète et la valeur de chaque mot-clé :
[Status: 200, Size: 35, Words: 4, Lines: 1, Duration: 0ms]
| URL | http://127.0.0.1:8088/api/status?id=support
* PARAM: id
* VAL: support
Un scan multi-listes sans -v produit des résultats inexploitables. Ajoutez-le systématiquement.
Aide-mémoire des commandes ffuf
Les options à connaître, regroupées selon ce que vous cherchez réellement à faire.
| Option | Rôle |
|---|---|
-w | Liste de mots, éventuellement chemin:MOTCLE |
-u | URL cible contenant FUZZ |
-e | Extensions à ajouter (.php,.bak) |
-t | Threads simultanés (40 par défaut) |
-ac | Auto-calibrer les filtres sur de faux chemins |
-fs / -fw / -fl / -fr | Filtrer par taille, mots, lignes ou regex |
-mc | Faire correspondre les codes de statut, ou all |
-recursion | Mettre en file un nouveau scan dans chaque répertoire trouvé |
-recursion-depth | Limiter la profondeur de récursion |
-H | En-tête personnalisé (Host, Cookie, Authorization) |
-X / -d | Méthode HTTP et corps POST |
-x | Passer par un proxy comme Burp |
-rate / -p | Requêtes par seconde, délai entre les requêtes |
-o / -of | Fichier et format de sortie |
-v | Verbeux : affiche les URL complètes et les valeurs des mots-clés |
-ic | Ignorer les lignes de commentaire # dans la liste |
Récursion
Gobuster ne sait pas récurser. ffuf le fait, et c'est l'une des meilleures raisons de changer d'outil :
ffuf -w words.txt -u http://cible.com/FUZZ -recursion -recursion-depth 2 -ac
Chaque répertoire trouvé devient une tâche mise en file, annoncée dans la sortie au fur et à mesure :
admin [Status: 301, Size: 101, Words: 4, Lines: 1, Duration: 0ms]
[INFO] Adding a new job to the queue: http://127.0.0.1:8088/admin/FUZZ
backup [Status: 301, Size: 101, Words: 4, Lines: 1, Duration: 1ms]
[INFO] Adding a new job to the queue: http://127.0.0.1:8088/backup/FUZZ
Réglez toujours -recursion-depth. La valeur par défaut de 0 signifie « illimité », et sur un site à l'arborescence profonde, un scan récursif sans limite avec une grande liste tournera jusqu'à ce que vous le tuiez. Une profondeur de 2 suffit largement pour un premier passage.
Sauvegarder les résultats
ffuf -w words.txt -u http://cible.com/FUZZ -ac -o results.json -of json
Les formats disponibles sont json, ejson, html, md, csv, ecsv et all. Le fichier JSON enregistre la ligne de commande complète à côté des résultats, ce qui compte plus qu'il n'y paraît : trois jours plus tard, au moment de rédiger le rapport, le fichier vous dit exactement quelles options ont produit cette trouvaille.
Rester discret
Quarante threads contre un petit serveur de production, c'est un test de charge déguisé. Bridez le débit :
ffuf -w words.txt -u http://cible.com/FUZZ -ac -rate 20 -p 0.1-0.5
-rate 20 plafonne l'ensemble du scan à 20 requêtes par seconde, et -p 0.1-0.5 ajoute un délai aléatoire entre chacune pour que le trafic ne soit pas parfaitement régulier. Sur une cible avec limitation de débit, c'est la différence entre un scan complet et un mur de 429.
ffuf, Gobuster ou DirBuster ?
Ces trois outils se recoupent, et choisir entre eux dépend surtout de ce que vous faites plutôt que d'une supériorité objective.
| Caractéristique | ffuf | Gobuster | DirBuster |
|---|---|---|---|
| Vitesse | Rapide (Go, 40 threads) | Rapide (Go, 10 threads) | Lent (Java) |
| Fuzzing de n'importe quelle position | Oui | Mode fuzz uniquement | Non |
| Scan récursif | Intégré | Non | Oui |
| Filtrage des réponses | Taille, mots, lignes, regex, temps | Statut et longueur | Basique |
| Auto-calibrage | Oui | Manuel | Non |
| Mode sous-domaines DNS | Via le fuzzing de vhost | Oui | Non |
| Courbe d'apprentissage | Plus raide | Douce | Douce (GUI) |
Mon avis franc : apprenez ffuf comme outil principal et gardez Gobuster pour une tâche précise. ffuf gagne partout où le filtrage des réponses compte, c'est-à-dire partout sur des cibles réelles, et aucun autre outil ne fuzze les en-têtes et les corps POST avec la syntaxe que vous connaissez déjà. Gobuster reste installé pour la vraie résolution de sous-domaines DNS, où son mode dns interroge directement le DNS au lieu de deviner des en-têtes Host. Si vous venez de Gobuster, notre tutoriel Gobuster établit la correspondance entre les options, et le guide des listes de mots s'applique aux deux outils sans changement.
DirBuster est le vilain petit canard. C'est du Java non maintenu avec une interface graphique, et les deux outils Go terminent la même liste en une fraction du temps. Ne l'apprenez que si une formation que vous suivez l'exige.
Un dernier conseil qui n'a rien à voir avec les options : votre liste de mots compte plus que votre outil. La collection SecLists installée dans /usr/share/seclists/Discovery/Web-Content/ est construite à partir de crawls réels, et passer d'une liste générique à raft-medium-directories.txt vous fera trouver plus de choses que n'importe quelle option de cet article. Faites passer ffuf par Burp Suite avec -x http://127.0.0.1:8080 quand vous voulez conserver chaque requête et chaque réponse pour une inspection ultérieure.
Considérations légales et éthiques
Rappel essentiel : ffuf envoie des milliers de requêtes en quelques secondes et se distingue en rien d'une attaque dans les journaux du serveur, parce que c'est la même technique. Le lancer contre un système que vous ne possédez pas, ou pour lequel vous n'avez pas d'autorisation écrite, est illégal dans la plupart des pays, quelles que soient vos intentions.
Le fuzzing est bruyant, actif et enregistré de façon permanente. Il n'existe aucune version de cette technique qui relève de la reconnaissance passive.
Où ffuf est autorisé
- Les tests d'intrusion couverts par une lettre de mission signée qui nomme la cible dans le périmètre
- Les programmes de bug bounty dont les règles autorisent explicitement l'énumération automatisée, dans la limite de débit qu'ils fixent
- Les systèmes et applications qui vous appartiennent
- Les compétitions CTF et les labs délibérément vulnérables conçus pour l'entraînement
Les programmes de bug bounty méritent une seconde lecture avant de vous lancer. Beaucoup plafonnent le débit des requêtes ou interdisent purement et simplement le scan automatisé, et -rate existe précisément pour respecter cette règle. Une trouvaille soumise à partir d'un scan qui a enfreint le règlement vous fait exclure du programme, elle ne vous fait pas payer. Pour situer la découverte de contenu dans une méthodologie structurée, le Web Security Testing Guide de l'OWASP documente la phase de reconnaissance en détail.
Questions fréquentes
Quelle est la commande ffuf de base ?
La commande ffuf de base est ffuf -w wordlist.txt -u http://cible.com/FUZZ. L'option -w désigne la liste de mots, -u définit l'URL cible, et le mot-clé FUZZ marque la position de la requête où chaque mot est substitué.
Que signifie « fuzzing » en sécurité web ?
Le fuzzing consiste à envoyer de nombreuses entrées générées automatiquement à une application et à observer lesquelles provoquent une réponse différente. En test web, cela veut généralement dire substituer les entrées d'une liste dans des chemins, des paramètres ou des en-têtes pour découvrir du contenu et des comportements qui ne sont ni liés ni documentés nulle part.
ffuf est-il meilleur que Gobuster ?
Pour la plupart des travaux web, oui. ffuf filtre les réponses par taille, nombre de mots, nombre de lignes, expression régulière et temps de réponse, récurse dans les répertoires qu'il découvre et fuzze n'importe quelle partie d'une requête. Gobuster est plus simple à apprendre et conserve un avantage net : son mode dns résout les sous-domaines via DNS, ce que ffuf ne fait pas.
Puis-je utiliser ffuf sous Windows ?
Oui. ffuf est un binaire Go unique sans dépendance d'exécution et tourne nativement sous Windows. Installez-le avec scoop install ffuf ou winget install ffuf.ffuf, ou téléchargez un binaire précompilé depuis la page des releases GitHub. WSL n'est pas nécessaire.
Pourquoi ffuf renvoie-t-il tous les mots comme des trouvailles ?
La cible renvoie un soft 404 : une page « introuvable » servie avec un code HTTP 200 au lieu d'un 404. Les codes de statut n'y servent à rien, filtrez donc sur le corps de la réponse. Relevez la taille en octets qui se répète dans les faux résultats et passez-la à -fs, ou laissez -ac la déterminer automatiquement.
Quelle est la meilleure liste de mots pour ffuf ?
Commencez par /usr/share/wordlists/dirb/common.txt pour un premier passage rapide, puis passez à raft-medium-directories.txt de SecLists pour la profondeur. Adaptez la liste à la mission : noms de répertoires pour la découverte de chemins, noms de fichiers complets pour la chasse aux sauvegardes, et une liste de paramètres pour le fuzzing de chaînes de requête.
Vos prochaines étapes
Vous savez maintenant comment utiliser ffuf pour les quatre missions qui couvrent l'essentiel de l'énumération web : chemins et fichiers avec -e, paramètres de requête, hôtes virtuels via l'en-tête Host, et corps POST pour l'énumération de noms d'utilisateur. L'option qui rend les quatre exploitables, c'est le filtre. Mettez -fs, -fr et -ac dans votre mémoire musculaire et l'outil cesse de produire du bruit pour produire des trouvailles.
Lire un article sur le filtrage ne vous apprendra pas à reconnaître un soft 404 sur le terrain. Lancer l'outil, si. Pointez ffuf sur notre lab Corporate Directory Hunt pour dénicher un panneau d'administration caché en partant de zéro, puis parcourez le cours sur les attaques web pour savoir quoi faire des points de terminaison que vous découvrez. Les deux tournent dans le navigateur avec l'offre gratuite de HackerDNA, sans installation ni carte bancaire.
Fait partie de la série Test d'intrusion
Articles liés :