Dirble ist ein Scan -Tool für Website -Verzeichnisse für Windows und Linux. Es ist so konzipiert, dass es schnell zu laufen und einfach zu bedienen ist.
Laden Sie eines der vorkompilierten Binärdateien für Linux, Windows oder Mac herunter oder kompilieren Sie die Quelle mit Fracht und führen Sie sie dann von einem Terminal aus. Die Standard -WordList -Dirble verwendet Dirble_WordList.txt im selben Verzeichnis wie die ausführbare Datei.
Es kann in Blackarch mit sudo pacman -S dirble installiert werden
Es gibt auch ein Docker -Image, das ausgeführt werden kann wie: docker run --rm -t isona/dirble [dirble arguments]
Der Hilfstext kann mit dirble --help angezeigt werden. Alternativ kann er auf dem Github Wiki gefunden werden: https://github.com/nccgroup/dirble/wiki/help-text
Aus dem aktuellen Verzeichnis gegen eine Website mit dem Standard diRble_wordlist.txt ausführen: dirble [address]
Ausführen mit einer anderen Wortliste und einschließlich .php- und .html -Erweiterungen: dirble [address] -w example_wordlist.txt -x .php,.html
Mit dirble [address] --scrape-listable auflistungsfähigen Verzeichnis aktiviert
Bereitstellung einer Liste von Erweiterungen und einer Liste von Hosts: dirble [address] -X wordlists/web.lst -U hostlist.txt
Bereitstellung mehrerer Hosts zum Scannen über die Befehlszeile: dirble [address] -u [address] -u [address]
Ausführen mit Threading im Standardstil von Gobuster, Deaktivieren von Rekursion und 10 Threads scannen das Hauptverzeichnis: dirble [address] --max-threads 10 --wordlist-split 10 -r
Um auf Ihrer aktuellen Plattform aufzubauen, stellen Sie sicher, dass die Fracht installiert ist, und führen Sie anschließend cargo build --release aus. Alternativ baut das Laufen make den Binary im Release -Modus (intern laufende cargo build --release ) auf.
Um für 32- und 64-Bit-Linux- und Windows-Ziele zu kompilen, gibt es eine praktische Makefile. make release wird für alle vier Ziele mit cross erstellen. Dies hängt davon ab, dass Kreuz und Docker installiert werden ( cargo install cross ).
Das folgende Diagramm wurde generiert, indem jedes Tool mit Hyperfein gegen einen Testserver mit einer Latenz von 5 ms und 1% Paketverlust ausgeführt wurde. (Gobuster wurde aufgrund mangelnder Rekursion weggelassen).

Dirble erkennt Dateien basierend auf dem vom Server gesendeten Antwortcode. Das Verhalten kann nach dem Antwortcodetyp lose kategorisiert werden.
200 : Der Weg existiert und ist gültig301, 302 : Umleitung; Melden Sie den Code, die Größe und den Standort Header404 : nicht gefunden; Standardmäßig werden diese Antworten nicht gemeldet+ [url] (CODE:[code]|SIZE:[size]) Ein Pfad wird als Verzeichnis klassifiziert, wenn eine Anfrage an [url] ( ohne nachgezogene Schrägstrich) eine Umleitung von 301 oder 302 auf [url]/ ( mit einem nachverfolgenden Schrägstrich) zurückgibt. Dies wird mit einem D -Präfix gemeldet. Wenn die Rekursion aktiviert ist, wird der Scan -Warteschlange hinzugefügt. Diese Methode hängt nicht vom Umleitungsziel ab, das vorhanden oder zugänglich ist. Daher wird eine separate Anforderung gestellt, um den Antwortcode und die Größe des Verzeichnisses zu bestimmen.
Auflistbare Verzeichnisse werden festgestellt, indem der Inhalt von url/ : Wenn er einen 200 -Antwortcode zurückgibt und das Körper entweder "übergeordnetes Verzeichnis", "bis zu" oder "Verzeichnisliste für" (Fallunempfindlichkeit) enthält, ist es wahrscheinlich ein auflistungsfähiges Verzeichnis. Wenn --scrape-listable aktiviert ist, werden URLs aus der Auflistung analysiert (ignorieren Sortierlinks oder außerhalb der Rahmenlinks) und der Scan-Warteschlange hinzugefügt, wenn sie einen nachverfolgenden Schrägstrich haben. Auflistbare Verzeichnisse haben ein L -Präfix in der Ausgabe.
Das Fadenverhalten von Dirble basiert auf den Konzepten von Wortlisten und Jobs . Ein Job ist jede Aufgabe, die unabhängig von anderen Aufgaben ausgeführt werden kann, beispielsweise eine Reihe von URLs. Eine WordList ist eine Liste von Wörtern mit einer definierten Transformation, beispielsweise die Liste {admin, config, shop} zusammen mit der Transformation append ".php" bildet eine einzelne WordList -Instanz.
Um die Leistung weiter zu verbessern, stellen wir das Konzept der WordList -Spaltung vor. Dies ist der Prozess, durch den eine einzelne WordList -Instanz ( dh Wörter mit einer Transformation) in mehrere Jobs unterteilt ist, die jeweils für einen Teil der Liste verantwortlich sind. Die Anzahl der verschachtelten Teile, in die jede WordList aufgeteilt ist, wird durch die Option --wordlist-split (Standard 3) definiert.
Immer wenn ein Verzeichnis erkannt wird (und eine Rekursion aktiviert ist), werden für jede geteilte WordList (mit Transformation) neue Jobs erstellt und einer zentralen Jobwarteschlange hinzugefügt.
Die maximale Anzahl der gleichzeitigen Aufgaben wird durch den Parameter --max-threads definiert, und Dirble startet bis zu dieser Grenze auf Jobs, wenn sie zur Warteschlange hinzugefügt werden. Immer wenn ein Job abgeschlossen ist ( dh eine geteilte WordList ist erschöpft), nimmt Dirble den nächsten Job aus der Warteschlange und startet ihn.
Veröffentlicht unter GPL v3.0, finden Sie Lizenz für weitere Informationen