
Puissant fuzzer de répertoires Web mutable pour bruteforcer des fichiers ou répertoires existants et/ou cachés.
██╗ ██╗██████╗ ██╗ ██████╗ ██╗ ██╗███████╗████████╗███████╗██████╗ ██║ ██║██╔══██╗██║ ██╔══██╗██║ ██║██╔════╝╚══██╔══╝██╔════╝██╔══██╗ ██║ ██║██████╔╝██║ ██████╔╝██║ ██║███████╗ ██║ █████╗ ██████╔╝ ██║ ██║██╔══██╗██║ ██╔══██╗██║ ██║╚════██║ ██║ ██╔══╝ ██╔══██╗ ╚██████╔╝██║ ██║███████╗██████╔╝╚██████╔╝███████║ ██║ ███████╗██║ ██║ ╚═════╝ ╚═╝ ╚═╝╚══════╝╚═════╝ ╚═════╝ ╚══════╝ ╚═╝ ╚══════╝╚═╝ ╚═╝
Bruteforceur de répertoires web puissant pour localiser des fichiers ou répertoires existants et/ou cachés.
Similaire à dirb ou gobuster, mais avec beaucoup d'options de mutation.
pip install urlbuster
usage: urlbuster [options] -w <str>/-W <file> BASE_URL
urlbuster -V, --help
urlbuster -h, --version
Bruteforceur d'URL pour localiser des fichiers ou répertoires existants et/ou cachés.
Similaire à dirb ou gobuster, mais permet également d'itérer sur plusieurs méthodes de requête HTTP,
plusieurs user-agents et plusieurs valeurs d'en-tête Host.
positional arguments:
BASE_URL L'URL de base à analyser.
required arguments:
-w str, --word str Mot à utiliser.
-W f, --wordlist f Chemin vers la liste de mots à utiliser.
optional global arguments:
-n, --new Utiliser une nouvelle connexion pour chaque requête.
Si non spécifié, une connexion HTTP persistante sera utilisée pour toutes les requêtes.
Remarque : utiliser une nouvelle connexion réduira les performances,
mais garantit un état vierge pour chaque requête.
Une connexion persistante, en revanche, utilisera les éventuelles valeurs de cookie
supplémentaires reçues d'une requête précédente.
-f, --follow Suivre les redirections.
-k, --insecure Ne pas vérifier les certificats TLS.
-v, --verbose Afficher également les URL manquées.
--code str [str ...] Code de statut HTTP à traiter comme succès.
Vous pouvez utiliser '.' (point) comme caractère générique.
Par défaut : 2.. 3.. 403 407 411 426 429 500 505 511
--payload p [p ...] Charges utiles POST, PUT et PATCH pour toutes les requêtes.
Remarque : plusieurs valeurs sont autorisées pour plusieurs charges utiles.
Remarque : si des doublons sont spécifiés, le dernier remplacera les précédents.
Voir --mpayload pour les mutations.
Format : <clé>=<valeur> [<clé>=<valeur>]
--header h [h ...] Chaîne d'en-tête HTTP personnalisée à ajouter à toutes les requêtes.
Remarque : plusieurs valeurs sont autorisées pour plusieurs en-têtes.
Remarque : si des doublons sont spécifiés, le dernier remplacera les précédents.
Voir --mheaders pour les mutations.
Format : <clé>:<valeur> [<clé>:<valeur>]
--cookie c [c ...] Chaîne de cookie à ajouter à toutes les requêtes.
Format : <clé>=<valeur> [<clé>=<valeur>]
--proxy str Utiliser un proxy pour toutes les requêtes.
Format : http://<hôte>:<port>
Format : http://<utilisateur>:<motdepasse>@<hôte>:<port>
Format : https://<hôte>:<port>
Format : https://<utilisateur>:<motdepasse>@<hôte>:<port>
Format : socks5://<hôte>:<port>
Format : socks5://<utilisateur>:<motdepasse>@<hôte>:<port>
--auth-basic str Utiliser l'authentification basique pour toutes les requêtes.
Format : <utilisateur>:<motdepasse>
--auth-digest str Utiliser l'authentification Digest pour toutes les requêtes.
Format : <utilisateur>:<motdepasse>
--timeout sec Délai d'attente de connexion en secondes pour chaque requête.
Par défaut : 5.0
--retry num Tentatives de connexion par requête.
Par défaut : 3
--delay sec Délai entre les requêtes pour ne pas surcharger le serveur.
--output file Fichier de sortie pour écrire les résultats.
optional mutating arguments:
Les arguments suivants augmenteront le nombre total de requêtes en
appliquant diverses mutations et en testant chaque mutation sur une requête distincte.
--method m [m ...] Liste des méthodes HTTP à tester pour chaque requête.
Remarque : chaque méthode fournie doublera le nombre de requêtes.
Méthodes supportées : GET POST PUT DELETE PATCH HEAD OPTIONS
Par défaut : GET
--mpayload p [p ...] Charges utiles POST, PUT et PATCH pour muter toutes les requêtes.
Remarque : plusieurs valeurs sont autorisées pour plusieurs charges utiles.
Format : <clé>=<valeur> [<clé>=<valeur>]
--mheader h [h ...] Chaîne d'en-tête HTTP personnalisée à ajouter pour muter toutes les requêtes.
Remarque : plusieurs valeurs sont autorisées pour plusieurs en-têtes.
Format : <clé>:<valeur> [<clé>:<valeur>]
--ext ext [ext ...] Liste des extensions de fichier à ajouter aux mots pour les tests.
Remarque : chaque extension fournie doublera le nombre de requêtes.
Format : .zip [.pem]
--slash str Ajouter ou omettre une barre oblique finale aux URL à tester.
Remarque : une barre oblique sera ajoutée après les extensions si elles sont également spécifiées.
Remarque : utiliser 'both' doublera le nombre de requêtes.
Options : both, yes, no
Par défaut : no
misc arguments:
-h, --help Afficher ce message d'aide et quitter
-V, --version Afficher les informations de version
exemples
urlbuster -W /chemin/vers/mots http://example.com/
urlbuster -W /chemin/vers/mots http://example.com:8000/
urlbuster -k -W /chemin/vers/mots https://example.com:10000/
Certains sites web se comportent différemment pour le même chemin selon l'user-agent spécifié.
$ urlbuster \
-W /usr/share/dirb/wordlists/common.txt \
--mheader 'User-Agent:Googlebot/2.1 (+http://www.googlebot.com/bot.html)' \
--method 'POST,GET,DELETE,PUT,PATCH' \
http://www.domain.tld/
██╗ ██╗██████╗ ██╗ ██████╗ ██╗ ██╗███████╗████████╗███████╗██████╗
██║ ██║██╔══██╗██║ ██╔══██╗██║ ██║██╔════╝╚══██╔══╝██╔════╝██╔══██╗
██║ ██║██████╔╝██║ ██████╔╝██║ ██║███████╗ ██║ █████╗ ██████╔╝
██║ ██║██╔══██╗██║ ██╔══██╗██║ ██║╚════██║ ██║ ██╔══╝ ██╔══██╗
╚██████╔╝██║ ██║███████╗██████╔╝╚██████╔╝███████║ ██║ ███████╗██║ ██║
╚═════╝ ╚═╝ ╚═╝╚══════╝╚═════╝ ╚═════╝ ╚══════╝ ╚═╝ ╚══════╝╚═╝ ╚═╝
0.5.1 by cytopia
PARAMÈTRES
URL de base : https://www.everythingcli.org/
Codes valides : 2.., 3.., 403, 407, 411, 426, 429, 500, 505, 511
Connexion : Non persistante
Redirections : Ne pas suivre
Charges utiles : Aucune
Délai d'attente : 5.0s
Tentatives : 3
Délai : Aucun
MUTATIONS
En-têtes mutants : 2
Charges utiles mutantes : 0 (POST)
Méthodes : 5 (POST, GET, DELETE, PUT, PATCH)
Barres obliques : no
Extensions : 1 (extension vide)
Mots : 4614
TOTAL REQUÊTES : 46140
HEURE DE DÉBUT : 2020-01-29 08:52:12
--------------------------------------------------------------------------------
Connection: keep-alive
Accept-Encoding: gzip, deflate
Accept: */*
User-Agent: python-requests/2.22.0
[301] [GET] http://domain.tld/robots.txt
--------------------------------------------------------------------------------
Connection: keep-alive
Accept-Encoding: gzip, deflate
Accept: */*
User-Agent: Googlebot/2.1 (+http://www.googlebot.com/bot.html)
[200] [GET] http://domain.tld/robots.txt
[301] [POST] http://domain.tld/robots.txt
[301] [GET] http://domain.tld/robots.txt
[301] [DELETE] http://domain.tld/robots.txt
[301] [PUT] http://domain.tld/robots.txt
[301] [PATCH] http://domain.tld/robots.txt
$ urlbuster \
-W /chemin/vers/wordlist.txt \
http://www.domain.tld/
$ urlbuster \
-W /chemin/vers/wordlist.txt \
--proxy 'http://localhost:8080' \
http://www.domain.tld/
$ urlbuster \
-W /chemin/vers/wordlist.txt \
--output out.txt \
http://www.domain.tld/
$ urlbuster \
-W /chemin/vers/wordlist.txt \
--auth-basic 'utilisateur:motdepasse' \
http://www.domain.tld/
$ urlbuster \
-W /chemin/vers/wordlist.txt \
--cookie 'PHPSESSID=a79b00e7-035a-2bb4-352a-439d855feabf' \
http://www.domain.tld/
$ urlbuster \
-W /chemin/vers/wordlist.txt \
--code 200 301 302 \
--ext .zip .tar .tar.gz .gz .rar \
http://www.domain.tld/
$ urlbuster \
-W /chemin/vers/wordlist.txt \
--code 200 301 302 \
--ext .zip .tar .tar.gz .gz .rar \
http://www.domain.tld/wp-content/
$ urlbuster \
-W /chemin/vers/wordlist.txt \
--method GET \
--code 200 301 302 \
http://www.domain.tld/recherche?q=
$ urlbuster \
-W /chemin/vers/wordlist.txt \
--code 200 301 302 \
--method POST \
--payload \
'utilisateur=nom' \
'motdepasse=pass' \
'[email protected]' \
'envoyer=oui' \
http://www.domain.tld/
$ urlbuster \
-w index.php \
--code 200 301 302 \
--method POST \
--mpayload \
'utilisateur=nom1' \
'utilisateur=nom2' \
'utilisateur=nom3' \
'motdepasse=pass1' \
'motdepasse=pass2' \
'motdepasse=pass3' \
'[email protected]' \
'[email protected]' \
'[email protected]' \
'envoyer=oui' \
http://www.domain.tld/wp-admin/
$ urlbuster \
-W /chemin/vers/wordlist.txt \
--code 5.. \
--method GET POST \
--mheader \
"User-Agent: ;" \
"User-Agent: ' or \"" \
"User-Agent: -- or #" \
"User-Agent: ' OR '1" \
"User-Agent: ' OR 1 -- -" \
"User-Agent: \" OR 1 = 1 -- -" \
"User-Agent: '='" \
"User-Agent: 'LIKE'" \
"User-Agent: '=0--+" \
"User-Agent: OR 1=1" \
"User-Agent: ' OR 'x'='x" \
"User-Agent: ' AND id IS NULL; --" \
http://www.domain.tld/
$ urlbuster \
-w / \
--method GET POST \
--mheader \
"Host: internal1.lan" \
"Host: internal2.lan" \
"Host: internal3.lan" \
"Host: internal4.lan" \
"Host: internal5.lan" \
"Host: internal6.lan" \
http://10.0.0.1
Vous trouverez ci-dessous une liste d'outils sec et de documentation que je maintiens.
Voir les directives de contribution pour aider à améliorer ce projet.
Cet outil doit être utilisé uniquement à des fins légales. Les utilisateurs assument l'entière responsabilité de toute action effectuée avec cet outil. L'auteur décline toute responsabilité en cas de dommage causé par cet outil. Si ces conditions ne vous conviennent pas, n'utilisez pas cet outil.
Copyright (c) 2020 cytopia
| Nom | Catégorie | Langage | Description |
|---|
| offsec | Documentation | Markdown | Checklist offsec, outils et exemples |
| header-fuzz | Énumération | Bash | Fuzzer les en-têtes HTTP |
| smtp-user-enum | Énumération | Python 2+3 | Énumérateur d'utilisateurs SMTP |
| urlbuster | Énumération | Python 2+3 | Fuzzer de répertoire web mutable |
| netcat | Pivotement | Python 2+3 | Netcat multiplateforme |
| badchars | Rétro-ingénierie | Python 2+3 | Générateur de mauvais caractères |
| fuzza | Rétro-ingénierie | Python 2+3 | Outil de fuzzing TCP |