
Ein extrem schneller und flexibler Web-Fuzzer
Ein extrem schneller und flexibler Web-Fuzzer
Filebuster ist ein HTTP-Fuzzer / Content-Discovery-Skript mit vielen Funktionen, das einfach zu bedienen und schnell ist! Es verwendet eine der schnellsten HTTP-Klassen der Welt (in PERL) – Furl::HTTP. Auch das Thread-Modell ist optimiert, um so schnell wie möglich zu laufen.
Es bietet eine Vielzahl von Funktionen, darunter:
Filebuster wird häufig aktualisiert. Regelmäßig werden neue Funktionen hinzugefügt.
Perl-Version 5.10 oder höher ist erforderlich
FileBuster bezieht viele Funktionen aus Drittanbieter-Bibliotheken. Diese können jedoch einfach mit dem folgenden Befehl installiert werden:
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
Die Option -T macht die Installation viel schneller. Falls Probleme auftreten, entferne sie, um CPAN zu erlauben, die Tests pro Paket durchzuführen.
Filebuster ist ein Perl-Skript, daher ist keine Installation nötig. Die beste Art, Filebuster zu nutzen, ist jedoch, einen symbolischen Link in einem Verzeichnis zu erstellen, das im Pfad enthalten ist. Zum Beispiel:
ln -s /path/to/filebuster.pl /usr/local/bin/filebuster
Dann kannst du es systemweit verwenden.
Da die Installation aller Abhängigkeiten manchmal nicht möglich ist, stelle ich eine vorgepackte Binärdatei mit allen integrierten Abhängigkeiten bereit. Sie funktioniert sogar auf schlanken Linux-Distributionen. Dies wurde mit Perl Packer pp erreicht. Ich habe diesen Schritt ins Repository integriert, sodass die gepackte Version automatisch erstellt wird, wenn eine neue Version veröffentlicht wird. Du kannst die neueste Version aus dem Releases-Bereich herunterladen.
Wenn du sie selbst packen möchtest, sieh dir die Workflow-Schritte der Action an; dort findest du alle erforderlichen Befehle.
In der einfachsten Form kann Filebuster mit folgender Syntax ausgeführt werden:
filebuster -u http://yoursite/
Wenn du den letzten Teil der URL fuzzen möchtest, musst du das Tag {fuzz} nicht verwenden, um die Injektionsstelle anzugeben.
Der Wortlisten-Parameter (-w) ist ab Version 0.9.1 nicht mehr zwingend erforderlich. Wenn nicht angegeben, versucht Filebuster, die „Fast“-Wortliste automatisch zu finden und zu laden.
-w – Pfade zu den verwendeten Wortlisten. Du kannst hier eine Liste angeben; FileBuster ignoriert automatisch Duplikate. z.B. -w wortliste1.txt ../weiterewortlisten/*.txt--hc – blendet die angegebenen Antwortcodes aus. z.B. --hc 403,400--hs – blendet Antworten aus, die die Zeichenkette im Antwort-Body enthalten. z.B. --hs "existiert nicht"--hsh – blendet Antworten aus, die die Zeichenkette in den Headern enthalten. Nützlich, um Weiterleitungen zu Login-Seiten zu ignorieren. z.B. --hsh "login.aspx"-e – FileBuster versucht jeden Eintrag der Wortliste auch mit den angegebenen Erweiterungen. z.B. -e aspx,ashx,asmxFür die vollständige Syntaxhilfe mit Beispielen führe einfach filebuster --help aus.
Ein komplexeres Beispiel:
filebuster -u http://yoursite/{fuzz}.jsp -w /path/to/wordlist.txt -t 3 -x http://127.0.0.1:8080 --hs "Error"
Dies ermöglicht es, eine Website mit 3 Threads zu fuzzen, um JSP-Seiten zu finden, unter Verwendung eines lokalen Proxys und Ausblenden aller Antworten mit „Error“ im Body.
Zuerst musst du den Container bauen:
docker build -t filebuster .
Danach kannst du ihn so ausführen:
docker run -ti --init --rm filebuster -u http://yoursite/
Wenn du benutzerdefinierte Wortlisten verwenden möchtest, denke daran, die Datei zu mappen, z.B.:
docker run -ti --init --rm -v /path/to/wordlist.txt:/filebuster/mywordlist.txt filebuster -u http://yoursite/ -w /filebuster/mywordlist.txt
Du kannst einen Alias in deiner Shell erstellen, um es (fast) nahtlos zu machen:
alias filebuster="docker run -ti --init --rm filebuster"
Jetzt kannst du es einfach ausführen:
filebuster -u http://yoursite/
Ich habe einige Wortlisten basierend auf verschiedenen Quellen im Web sowie eigene benutzerdefinierte Payloads erstellt, die mir während meiner Pentests und Forschung begegnet sind. Du findest sie im Verzeichnis wordlists.
Wenn du weitere Wortlisten benötigst, solltest du dir das großartige SecLists-Repository ansehen.
Wenn du Probleme oder Vorschläge hast, zögere nicht, Kontakt aufzunehmen.