Dirble est un outil de numérisation du répertoire de site Web pour Windows et Linux. Il est conçu pour être rapide à exécuter et facile à utiliser.
Téléchargez l'un des binaires précompilés pour Linux, Windows ou Mac, ou compilez la source à l'aide de la cargaison, puis exécutez-la à partir d'un terminal. La liste de mots par défaut Dirble utilise dirble_wordlist.txt dans le même répertoire que l'exécutable.
Il peut être installé en noirarch à l'aide de sudo pacman -S dirble
Il y a aussi une image Docker, qui peut être exécutée comme: docker run --rm -t isona/dirble [dirble arguments]
Le texte d'aide peut être affiché à l'aide dirble --help , alternativement il peut être trouvé sur le wiki github: https://github.com/nccgroup/dirble/wiki/help-text
Exécutez sur un site Web en utilisant le dirble_wordlist.txt par défaut à partir du répertoire actuel: dirble [address]
Exécutez avec une liste de mots différente et incluant .php et .html Extensions: dirble [address] -w example_wordlist.txt -x .php,.html
Avec répertoire listable Stracing activé: dirble [address] --scrape-listable
Fournir une liste d'extensions et une liste d'hôtes: dirble [address] -X wordlists/web.lst -U hostlist.txt
Fourniture de plusieurs hôtes pour scanner via la ligne de commande: dirble [address] -u [address] -u [address]
Exécution avec le threading dans le style par défaut de Gobuster, désactiver la récursivité et avoir 10 threads scannant le répertoire principal: dirble [address] --max-threads 10 --wordlist-split 10 -r
Pour construire sur votre plate-forme actuelle, assurez-vous que la cargaison est installée, puis exécutez cargo build --release . Alternativement, Running make construira le binaire en mode de libération ( cargo build --release ).
Pour compiler les cibles pour les cibles Linux et Windows 32 et 64 bits, il y a un makefile pratique. make release sera construite pour les quatre cibles à l'aide cross . Cela dépend de l'installation de croix et de docker ( cargo install cross ).
Le graphique suivant a été généré en exécutant chaque outil avec Hyperfine contre un serveur de test avec une latence de 5 ms et une perte de paquets de 1%. (Gobuster a été omis en raison du manque de récursivité).

Dirble détecte des fichiers en fonction du code de réponse envoyé par le serveur. Le comportement peut être catégorisé de manière lâche par type de code de réponse.
200 : Le chemin existe et est valable301, 302 : Redirection; Signaler l'en-tête du code, de la taille et de l'emplacement404 : Non trouvé; Par défaut, ces réponses ne sont pas signalées+ [url] (CODE:[code]|SIZE:[size]) Un chemin est classé comme un répertoire si une demande à [url] ( sans slash de fuite) renvoie une redirection 301 ou 302 vers [url]/ ( avec une barre oblique de fuite). Cela est signalé avec un préfixe D et si la récursivité est activée sera ajoutée à la file d'attente de numérisation. Cette méthode ne dépend pas de la cible de redirection existante ou accessible, donc une demande distincte sera faite pour déterminer le code de réponse et la taille du répertoire.
Les répertoires répertoriés sont détectés en inspectant le contenu de url/ : s'il renvoie un code de réponse 200 et que le corps contient soit "répertoire parent", "jusqu'à" ou "annonce de répertoire pour" (insensible au cas), puis il est probablement un répertoire liste. Si --scrape-listable est activé, les URL sont analysées de la liste (ignorer les liens de tri ou hors de liens de portée) et ajoutés à la file d'attente de scan s'ils ont une barre oblique. Les répertoires répertoriés ont un préfixe L dans la sortie.
Le comportement de filetage de Dirble est basé sur les concepts des listes de mots et des emplois . Un travail est toute tâche qui peut être exécutée indépendamment des autres tâches, par exemple en demandant une série d'URL. Une liste de mots est une liste de mots avec une transformation définie, par exemple la liste {admin, config, shop} avec la transformation append ".php" forme une seule instance de liste de mots.
Pour améliorer davantage les performances, nous introduisons le concept de division de liste de mots . Il s'agit du processus par lequel une seule instance de liste de mots ( c'est-à-dire des mots avec une transformation) est divisée en plusieurs travaux, chacun responsable d'une partie de la liste. Le nombre de portions entrelacées dans lesquelles chaque liste de mots est divisée est définie par l'option --wordlist-split (par défaut 3).
Chaque fois qu'un répertoire est détecté (et que la récursivité est activée), de nouveaux travaux sont créés pour chaque liste de mots divisés (avec transformation) et ajoutée à une file d'attente centrale.
Le nombre maximum de tâches simultanées est définie par le paramètre --max-threads , et Dirble commencera les travaux car ils sont ajoutés à la file d'attente, jusqu'à cette limite. Chaque fois qu'un travail se termine ( c'est-à-dire qu'une liste de mots divisée est épuisée), Dirble prendra le prochain travail de la file d'attente et le démarrera.
Libéré sous GPL V3.0, voir Licence pour plus d'informations