
Un fuzzer web extrêmement rapide et flexible.
Un fuzzer web extrêmement rapide et flexible
Filebuster est un script de fuzzing HTTP / de découverte de contenu avec de nombreuses fonctionnalités, conçu pour être facile à utiliser et rapide ! Il utilise l'une des classes HTTP les plus rapides au monde (en PERL) - Furl::HTTP. De plus, la modélisation des threads est optimisée pour fonctionner aussi vite que possible.
Il regorge de fonctionnalités comme :
Filebuster est mis à jour fréquemment. De nouvelles fonctionnalités seront ajoutées régulièrement.
La version 5.10 de Perl ou une version supérieure est requise
FileBuster fait appel à de nombreuses fonctionnalités de bibliothèques tierces. Cependant, elles peuvent être facilement installées avec la commande suivante :
cpan -T install YAML Furl Benchmark Net::DNS::Lite List::MoreUtils IO::Socket::SSL URI::Escape HTML::Entities IO::Socket::Socks::Wrapper URI::URL Cache::LRU IO::Async::Timer::Periodic IO::Async::Loop
L'option -T rendra l'installation beaucoup plus rapide, mais si vous rencontrez des problèmes, supprimez-la pour permettre à CPAN d'effectuer les tests par paquet.
Filebuster est un script Perl, donc aucune installation n'est nécessaire. Cependant, la meilleure façon d'utiliser Filebuster est de créer un lien symbolique dans un répertoire inclus dans le PATH. Par exemple :
ln -s /path/to/filebuster.pl /usr/local/bin/filebuster
Ensuite, vous pourrez l'utiliser sur tout le système
Comme il est parfois impossible d'installer toutes les dépendances, je fournis un binaire pré-packagé avec toutes les dépendances intégrées. Il fonctionne même sur les distributions Linux légères. Cela a été réalisé en utilisant Perl Packer pp. J'ai intégré cette étape dans le dépôt afin que la version packagée soit automatiquement construite lors de la sortie d'une nouvelle version. Vous pouvez télécharger la dernière version depuis la section Releases.
Si vous souhaitez le packager vous-même, consultez les étapes du workflow des Actions et vous y trouverez toutes les commandes nécessaires.
Dans sa forme la plus basique, Filebuster peut être exécuté en utilisant simplement la syntaxe suivante :
filebuster -u http://yoursite/
Si vous voulez fuzzer la dernière partie de l'URL, vous n'avez pas besoin d'utiliser la balise {fuzz} pour indiquer où injecter.
Le paramètre de liste de mots (-w) n'est pas obligatoire depuis la version 0.9.1. S'il n'est pas spécifié, Filebuster tentera de trouver et charger automatiquement la liste de mots "Fast".
-w - Chemins vers les listes de mots à utiliser. Vous pouvez spécifier une liste ici et FileBuster ignorera automatiquement les doublons. ex. -w wordlist1.txt ../morewordlists/*.txt--hc - masque les codes de réponse spécifiés. ex. --hc 403,400--hs - masque les réponses contenant une chaîne dans le corps de la réponse. ex. --hs "does not exist"--hsh - masque les réponses contenant une chaîne dans les en-têtes. Utile pour ignorer les redirections vers les pages de connexion, par exemple. ex. --hsh "login.aspx"-e - FileBuster essaiera chaque entrée de la liste de mots avec les extensions fournies également. ex. -e aspx,ashx,asmxPour l'aide complète sur la syntaxe avec des exemples, exécutez simplement filebuster --help.
Un exemple plus complexe :
filebuster -u http://yoursite/{fuzz}.jsp -w /path/to/wordlist.txt -t 3 -x http://127.0.0.1:8080 --hs "Error"
Cela vous permettrait de fuzzer un site web avec 3 threads pour trouver des pages JSP, en utilisant un proxy local et en masquant toutes les réponses contenant "Error" dans le corps.
Vous devrez d'abord construire le conteneur :
docker build -t filebuster .
Ensuite, vous pouvez l'exécuter comme ceci :
docker run -ti --init --rm filebuster -u http://yoursite/
Si vous avez besoin d'utiliser des listes de mots personnalisées, pensez à mapper le fichier, par exemple :
docker run -ti --init --rm -v /path/to/wordlist.txt:/filebuster/mywordlist.txt filebuster -u http://yoursite/ -w /filebuster/mywordlist.txt
Vous pouvez créer un alias dans votre shell, et le rendre (presque) transparent :
alias filebuster="docker run -ti --init --rm filebuster"
Vous pouvez maintenant simplement l'exécuter :
filebuster -u http://yoursite/
J'ai créé quelques listes de mots basées sur différentes sources sur le web, ainsi que mes propres charges utiles personnalisées que j'ai rencontrées lors de mes pentests et recherches. Vous pouvez les trouver dans le répertoire wordlists.
Si vous avez besoin de plus de listes de mots, vous devriez consulter l'excellent dépôt SecLists.
Si vous avez des problèmes ou des suggestions, n'hésitez pas à nous contacter.