- Travaillez-vous dans une **entreprise de cybersécurité** ? Voulez-vous voir votre **entreprise annoncée dans HackTricks** ? ou voulez-vous avoir accès à la **dernière version de PEASS ou télécharger HackTricks en PDF** ? Consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
- **Rejoignez le** [**💬**](https://emojipedia.org/speech-balloon/) [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** moi sur **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
- **Partagez vos astuces de piratage en soumettant des PR au [repo hacktricks](https://github.com/carlospolop/hacktricks) et au [repo hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
> Wfuzz a été créé pour faciliter la tâche dans les évaluations des applications web et il est basé sur un concept simple : il remplace toute référence au mot-clé FUZZ par la valeur d'une charge utile donnée.
Les encodeurs sont utilisés pour modifier les caractères d'une requête afin de contourner les filtres de sécurité. Voici les options d'encodeurs disponibles dans wfuzz :
Dans cet exemple, nous envoyons une requête POST à l'URL `http://example.com/login.php` avec les données POST `username=FUZZ&password=FUZ2Z`. Les valeurs `FUZZ` et `FUZ2Z` seront remplacées par les éléments des listes `users.txt` et `passwords.txt`, respectivement.
Nous filtrons également le code de réponse `200` pour ne voir que les réponses réussies.
Notez que les fichiers `users.txt` et `passwords.txt` doivent être dans le même répertoire que le fichier de commande wfuzz.
Dans cette section, nous allons utiliser wfuzz pour envoyer des requêtes GET avec deux listes différentes et filtrer les résultats en utilisant une chaîne spécifique. Nous allons également utiliser un proxy et des cookies pour simuler une session authentifiée.
La commande suivante envoie des requêtes GET à l'URL spécifiée en utilisant deux listes différentes pour les paramètres "id" et "category". Nous filtrons ensuite les résultats pour n'afficher que ceux qui contiennent la chaîne "admin".
Les paramètres de chemin sont des variables qui font partie de l'URL et qui sont utilisées pour identifier une ressource spécifique sur le serveur. Les attaquants peuvent utiliser des techniques de brute-force pour deviner les valeurs de ces paramètres et accéder à des ressources non autorisées.
Dans cet exemple, Wfuzz va remplacer le mot-clé `FUZZ` par chaque mot du fichier de liste de mots spécifié dans le chemin de l'URL. L'option `-c` est utilisée pour afficher les codes de réponse HTTP pour chaque requête.
Il est important de noter que l'utilisation de cette technique peut être détectée par les systèmes de détection d'intrusion et peut entraîner un blocage de l'adresse IP de l'attaquant. Il est donc recommandé d'utiliser des listes de mots spécifiques à la cible et de limiter le nombre de tentatives pour éviter d'être détecté.
NTLM est un protocole d'authentification utilisé par les systèmes d'exploitation Windows. Il est souvent utilisé pour l'authentification des utilisateurs dans les environnements Active Directory.
Lors de l'utilisation de WFuzz avec NTLM, il est possible d'utiliser deux listes de mots de passe différentes pour les tentatives d'authentification. Cela peut être fait en utilisant l'option `--ntlm-file` pour spécifier le chemin d'accès à la liste de mots de passe NTLM et l'option `--pw-list` pour spécifier le chemin d'accès à la liste de mots de passe standard.
Il est également possible de filtrer les résultats de WFuzz en utilisant une chaîne de filtre. Cela peut être fait en utilisant l'option `--filter` suivie de la chaîne de filtre. Par exemple, `--filter='show="401"'` affichera uniquement les résultats avec un code de réponse 401.
Enfin, si vous utilisez un proxy pour vous connecter à la cible, vous pouvez spécifier l'adresse du proxy en utilisant l'option `--proxy`. Par exemple, `--proxy=http://127.0.0.1:8080` spécifiera un proxy sur le port 8080 de l'adresse IP 127.0.0.1.
Le header User-Agent est utilisé pour identifier le client HTTP utilisé pour effectuer une requête. Il est souvent utilisé pour différencier les requêtes provenant de navigateurs web et celles provenant d'outils automatisés tels que les scripts de fuzzing. Il est possible de modifier le User-Agent pour masquer l'outil utilisé et éviter d'être détecté.
Il est également possible de filtrer le code source de la réponse pour masquer les erreurs et les informations sensibles. Cela peut être fait en utilisant des outils tels que grep ou awk.
L'utilisation d'un proxy peut également aider à masquer l'adresse IP de l'attaquant et à éviter d'être détecté. Les proxies peuvent être configurés pour rediriger le trafic à travers des serveurs distants, ce qui rend plus difficile la détection de l'origine de la requête.
Lorsque vous utilisez l'option `--hc` pour spécifier le code de réponse attendu, vous pouvez utiliser l'option `--hc-r` pour spécifier une réponse différente pour chaque méthode HTTP. Cela peut être utile pour détecter les méthodes HTTP autorisées sur une cible.
Dans cet exemple, wfuzz utilise le fichier `http_methods.txt` pour bruteforcer les méthodes HTTP sur l'URL `http://example.com/FUZZ`. Si wfuzz reçoit une réponse `200`, il considère que la méthode HTTP est autorisée. Si wfuzz reçoit une réponse `403` pour la méthode HTTP `PUT`, il considère que la méthode HTTP `PUT` est interdite.
The inline list is a very useful feature of wfuzz that allows you to specify a list of values for a parameter in a single line. This is particularly useful when you have a small list of values that you want to test.
La liste en ligne est une fonctionnalité très utile de wfuzz qui vous permet de spécifier une liste de valeurs pour un paramètre en une seule ligne. Cela est particulièrement utile lorsque vous avez une petite liste de valeurs que vous souhaitez tester.
To use the inline list, you simply need to specify the parameter name followed by the list of values enclosed in curly braces {} and separated by commas. For example, to test the parameter "id" with the values 1, 2, and 3, you would use the following syntax:
Pour utiliser la liste en ligne, vous devez simplement spécifier le nom du paramètre suivi de la liste de valeurs entre accolades {} et séparées par des virgules. Par exemple, pour tester le paramètre "id" avec les valeurs 1, 2 et 3, vous utiliseriez la syntaxe suivante :
WFuzz est un outil de bruteforce très puissant qui peut être utilisé pour tester la sécurité des applications web. Il est capable de tester des répertoires et des fichiers en utilisant des listes de mots personnalisées pour trouver des pages cachées ou des fichiers sensibles.
Pour utiliser WFuzz, vous devez spécifier l'URL de la cible et la liste de mots à utiliser pour la bruteforce. WFuzz peut également être utilisé pour tester des paramètres de requête en utilisant des listes de valeurs personnalisées.
Voici un exemple de commande WFuzz pour tester les répertoires et les fichiers sur une cible :
Dans cet exemple, WFuzz utilise le fichier `/path/to/wordlist.txt` pour tester les répertoires et les fichiers sur la cible `http://target.com/`. L'option `--hc 404` indique à WFuzz d'ignorer les réponses HTTP avec le code d'erreur 404.
WFuzz peut également être utilisé pour tester les paramètres de requête en utilisant l'option `-d` pour spécifier les données de requête et l'option `-z` pour spécifier les listes de valeurs à tester.
#### DirBuster
DirBuster est un autre outil de bruteforce de répertoires et de fichiers qui peut être utilisé pour tester la sécurité des applications web. Il est capable de tester des répertoires et des fichiers en utilisant des listes de mots personnalisées pour trouver des pages cachées ou des fichiers sensibles.
Pour utiliser DirBuster, vous devez spécifier l'URL de la cible et la liste de mots à utiliser pour la bruteforce. DirBuster peut également être utilisé pour tester des paramètres de requête en utilisant des listes de valeurs personnalisées.
Dans cet exemple, DirBuster utilise le fichier `/path/to/wordlist.txt` pour tester les répertoires et les fichiers sur la cible `http://target.com/`. L'option `Follow Redirects` indique à DirBuster de suivre les redirections HTTP.
DirBuster peut également être utilisé pour tester les paramètres de requête en utilisant l'option `Injection String` pour spécifier les listes de valeurs à tester.
- Travaillez-vous dans une **entreprise de cybersécurité** ? Voulez-vous voir votre **entreprise annoncée dans HackTricks** ? ou voulez-vous avoir accès à la **dernière version de PEASS ou télécharger HackTricks en PDF** ? Consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
- **Rejoignez le** [**💬**](https://emojipedia.org/speech-balloon/) [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez** moi sur **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
- **Partagez vos astuces de piratage en soumettant des PR au [repo hacktricks](https://github.com/carlospolop/hacktricks) et au [repo hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.