Bestimmte Statuscodes in Gobuster von Ergebnissen ausschließen

Beginner
Jetzt üben

Einleitung

In diesem Lab lernen Sie, wie Sie Gobuster, ein beliebtes Tool zum Brute-Forcing von Verzeichnissen und Dateien, effektiv nutzen, um bestimmte HTTP-Statuscodes aus seinen Scan-Ergebnissen auszuschließen. Bei der Web-Enumeration stoßen Sie häufig auf viele "Nicht gefunden" (404) oder andere irrelevante Antworten, die die Ausgabe überladen. Durch das Herausfiltern dieser können Sie sich auf aussagekräftigere Ergebnisse konzentrieren, wodurch Ihre Erkundungsbemühungen effizienter und gezielter werden. Dieses Lab führt Sie durch die Identifizierung von "lärmenden" Statuscodes, die Durchführung eines Basis-Scans und die anschließende Anwendung von Ausschlussfiltern mit Gobusters -b-Flag.

Zu ignorierende "lärmende" Statuscodes identifizieren (z. B. 404)

In diesem Schritt erfahren Sie, warum es wichtig ist, bestimmte HTTP-Statuscodes während eines Gobuster-Scans zu identifizieren und auszuschließen. Wenn Gobuster versucht, auf nicht existierende Pfade zuzugreifen, antwortet der Webserver typischerweise mit dem Statuscode "404 Not Found". Diese 404-Antworten können Ihre Scan-Ausgabe überfluten und es schwierig machen, legitime Ergebnisse zu erkennen. Andere Statuscodes, wie 3xx-Weiterleitungen oder 5xx-Serverfehler, können je nach Ihren spezifischen Erkundungszielen ebenfalls als "lärmend" betrachtet werden.

Um dies zu veranschaulichen, führen wir zunächst einen einfachen curl-Befehl gegen unseren lokalen Webserver aus, um zu sehen, wie er auf einen nicht existierenden Pfad reagiert.

Öffnen Sie Ihr Terminal und führen Sie den folgenden Befehl aus:

curl -I http://localhost:8000/nonexistent_page

Sie sollten eine Ausgabe ähnlich der folgenden sehen, die einen 404 Not Found-Status anzeigt:

HTTP/1.0 404 Not Found
Server: SimpleHTTP/0.6
Date: ...
Content-type: text/html
Content-Length: ...

Diese 404 Not Found-Antwort ist eine häufige "lärmende" Antwort. In den folgenden Schritten lernen Sie, wie Sie Gobuster anweisen, solche Antworten zu ignorieren.

Scan ohne Filterung ausführen

In diesem Schritt führen Sie einen grundlegenden Gobuster-Scan ohne Filterung von Statuscodes durch. Dies dient als Basis, um zu demonstrieren, wie viel "Rauschen" (z. B. 404-Antworten) in der Ausgabe erzeugt werden kann. Sie verwenden den dir-Modus von Gobuster, um Verzeichnisse und Dateien auf unserem lokalen Webserver zu enumerieren.

Führen Sie den folgenden Befehl in Ihrem Terminal aus:

gobuster dir -u http://localhost:8000 -w ~/project/wordlist.txt

Lassen Sie uns den Befehl aufschlüsseln:

  • gobuster dir: Gibt an, dass wir den Modus für die Verzeichnis-/Datei-Enumeration verwenden möchten.
  • -u http://localhost:8000: Legt die Ziel-URL auf unseren lokalen Webserver fest.
  • -w ~/project/wordlist.txt: Gibt die zu verwendende Wortliste für das Brute-Forcing an.

Beobachten Sie die Ausgabe. Sie werden wahrscheinlich viele Einträge mit (Status: 404) daneben sehen, was darauf hinweist, dass Gobuster versucht hat, auf Pfade zuzugreifen, die auf dem Server nicht existieren.

...
/nonexistent_page       (Status: 404)
/admin                  (Status: 404)
/test                   (Status: 404)
/existing_dir           (Status: 200)
/another_file.txt       (Status: 200)
/redirect_me            (Status: 302)
/forbidden_area         (Status: 403)
/server_error           (Status: 500)
...

Wie Sie sehen können, ist die Ausgabe mit 404-Antworten überladen, was es schwieriger macht, die tatsächlich vorhandenen Ressourcen zu identifizieren.

Das Flag -b zum Ausschließen von 404 Not Found verwenden

In diesem Schritt lernen Sie, wie Sie das -b (oder --exclude-length) Flag von Gobuster verwenden, um bestimmte HTTP-Statuscodes aus den Ergebnissen auszuschließen. Dies ist entscheidend, um irrelevante Antworten herauszufiltern und sich auf das Wesentliche zu konzentrieren. Wir werden speziell den Statuscode 404 Not Found ausschließen, da dies die häufigste "lärmende" Antwort ist.

Das -b Flag nimmt eine durch Kommas getrennte Liste von auszuschließenden Statuscodes entgegen.

Führen Sie den folgenden Befehl in Ihrem Terminal aus, um den Gobuster-Scan durchzuführen und 404-Antworten auszuschließen:

gobuster dir -u http://localhost:8000 -w ~/project/wordlist.txt -b 404

Betrachten wir das neue Flag:

  • -b 404: Weist Gobuster an, alle Ergebnisse auszuschließen, die einen HTTP-Statuscode von 404 zurückgeben.

Beobachten Sie die Ausgabe sorgfältig. Sie sollten feststellen, dass alle Einträge mit (Status: 404) nun verschwunden sind, was zu einer wesentlich saubereren und fokussierteren Ergebnisliste führt.

...
/existing_dir           (Status: 200)
/another_file.txt       (Status: 200)
/redirect_me            (Status: 302)
/forbidden_area         (Status: 403)
/server_error           (Status: 500)
...

Dies verbessert die Lesbarkeit und Nützlichkeit Ihrer Scan-Ergebnisse erheblich.

Scan ausführen und die sauberere Ausgabe beobachten

In diesem Schritt führen Sie den Gobuster-Scan erneut mit dem Flag -b 404 aus und achten genau auf die Ausgabe, um zu bestätigen, dass die 404-Antworten tatsächlich ausgeschlossen werden. Dies vertieft Ihr Verständnis dafür, wie das Ausschluss-Flag funktioniert und welche Auswirkungen es auf die Scan-Ergebnisse hat.

Führen Sie den Befehl erneut aus, um die gefilterte Ausgabe zu sehen:

gobuster dir -u http://localhost:8000 -w ~/project/wordlist.txt -b 404

Während der Scan fortschreitet, sehen Sie nur die Einträge, die andere Statuscodes als 404 zurückgegeben haben. Dies zeigt die Wirksamkeit des -b-Flags bei der Reduzierung von "Rauschen".

Beispiel für eine erwartete sauberere Ausgabe:

...
/existing_dir           (Status: 200)
/another_file.txt       (Status: 200)
/redirect_me            (Status: 302)
/forbidden_area         (Status: 403)
/server_error           (Status: 500)
...

Beachten Sie, wie die Einträge nonexistent_page, admin und test (die 404 zurückgaben) nicht mehr in der Ausgabe vorhanden sind. Dies erleichtert die Identifizierung gültiger Ressourcen erheblich.

Kombinieren von -s und -b für präzise Filterung

In diesem letzten Schritt lernen Sie, wie Sie die Flags -s (Statuscodes einschließen) und -b (Statuscodes ausschließen) für eine noch präzisere Filterung kombinieren können. Während -b hervorragend geeignet ist, um "Rauschen" zu entfernen, möchten Sie manchmal nur bestimmte Arten von Antworten sehen, wie z. B. erfolgreiche (200 OK) oder Weiterleitungen (3xx).

Das -s-Flag ermöglicht es Ihnen, eine durch Kommas getrennte Liste von Statuscodes anzugeben, die in die Ergebnisse aufgenommen werden sollen. Wenn sowohl -s als auch -b verwendet werden, wendet Gobuster zuerst den -s-Filter an und wendet dann auf die verbleibenden Ergebnisse den -b-Filter an.

Nehmen wir an, Sie möchten nur Antworten mit 200 OK und 302 Found sehen und gleichzeitig explizit 404 Not Found ausschließen.

Führen Sie den folgenden Befehl aus:

gobuster dir -u http://localhost:8000 -w ~/project/wordlist.txt -s 200,302 -b 404

Hier ist die Aufschlüsselung:

  • -s 200,302: Weist Gobuster an, nur Ergebnisse mit den Statuscodes 200 oder 302 anzuzeigen.
  • -b 404: Weist Gobuster an, Ergebnisse mit dem Statuscode 404 auszuschließen. (Obwohl in diesem speziellen Fall 404 bereits durch -s ausgeschlossen würde, demonstriert dies die Kombination.)

Beobachten Sie die Ausgabe. Sie sollten nun nur noch Einträge mit Status: 200 und Status: 302 sehen.

...
/existing_dir           (Status: 200)
/another_file.txt       (Status: 200)
/redirect_me            (Status: 302)
...

Diese leistungsstarke Kombination ermöglicht es Ihnen, Ihre Gobuster-Scans fein abzustimmen, um nur die relevantesten Informationen abzurufen, was Ihre Effizienz bei der Web-Aufklärung erheblich verbessert.

Zusammenfassung

In diesem Lab haben Sie erfolgreich gelernt, wie Sie bestimmte HTTP-Statuscodes aus Ihren Gobuster-Scanergebnissen ausschließen können. Sie haben damit begonnen, zu verstehen, warum Filterung notwendig ist, insbesondere für häufige "rauschende" Antworten wie 404 Not Found. Anschließend haben Sie einen Basis-Scan durchgeführt, um die ungefilterte Ausgabe zu beobachten. Der Kern dieses Labs bestand darin, das -b-Flag zu verwenden, um unerwünschte Statuscodes auszuschließen, was zu einem wesentlich saubereren und fokussierteren Ergebnisdatensatz führte. Schließlich haben Sie untersucht, wie die Flags -s (einschließen) und -b (ausschließen) kombiniert werden können, um eine noch präzisere Kontrolle über Ihre Gobuster-Scans zu erhalten. Diese Fähigkeit ist für eine effiziente und gezielte Web-Aufklärung von unschätzbarem Wert.