Exclure des codes de statut spécifiques des résultats dans Gobuster

Beginner
Pratiquer maintenant

Introduction

Dans ce laboratoire, vous apprendrez à utiliser efficacement Gobuster, un outil populaire de brute-force de répertoires et de fichiers, pour exclure des codes de statut HTTP spécifiques de ses résultats de scan. Lors de l'énumération web, vous rencontrez souvent de nombreuses réponses "Not Found" (404) ou d'autres réponses non pertinentes qui encombrent la sortie. En filtrant celles-ci, vous pouvez vous concentrer sur des résultats plus significatifs, rendant vos efforts de reconnaissance plus efficaces et ciblés. Ce laboratoire vous guidera dans l'identification des codes de statut bruyants, l'exécution d'un scan de base, puis l'application de filtres d'exclusion à l'aide du drapeau -b de Gobuster.

Identifier les codes de statut bruyants à ignorer (par exemple, 404)

Dans cette étape, vous comprendrez pourquoi il est important d'identifier et d'exclure certains codes de statut HTTP lors d'un scan Gobuster. Lorsque Gobuster tente d'accéder à des chemins inexistants, le serveur web répond généralement par un code de statut "404 Not Found". Ces réponses 404 peuvent inonder la sortie de votre scan, rendant difficile la détection de résultats légitimes. D'autres codes de statut, tels que les redirections 3xx ou les erreurs serveur 5xx, peuvent également être considérés comme "bruyants" en fonction de vos objectifs de reconnaissance spécifiques.

Pour illustrer cela, nous allons d'abord exécuter une simple commande curl sur notre serveur web local pour voir comment il répond à un chemin inexistant.

Ouvrez votre terminal et exécutez la commande suivante :

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

Vous devriez voir une sortie similaire à celle-ci, indiquant un statut 404 Not Found :

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

Ce 404 Not Found est une réponse "bruyante" courante. Dans les étapes suivantes, vous apprendrez à indiquer à Gobuster d'ignorer de telles réponses.

Exécuter un scan sans aucun filtrage

Dans cette étape, vous allez effectuer un scan Gobuster de base sans aucun filtrage de code de statut. Cela servira de référence pour démontrer la quantité de bruit (par exemple, les réponses 404) qui peut être générée dans la sortie. Vous utiliserez le mode dir de Gobuster pour énumérer les répertoires et les fichiers sur notre serveur web local.

Exécutez la commande suivante dans votre terminal :

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

Analysons la commande :

  • gobuster dir : Spécifie que nous voulons utiliser le mode d'énumération de répertoires/fichiers.
  • -u http://localhost:8000 : Définit l'URL cible sur notre serveur web local.
  • -w ~/project/wordlist.txt : Spécifie le fichier de liste de mots à utiliser pour le brute-force.

Observez la sortie. Vous verrez probablement de nombreuses entrées avec (Status: 404) à côté d'elles, indiquant que Gobuster a tenté d'accéder à des chemins qui n'existent pas sur le serveur.

...
/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)
...

Comme vous pouvez le constater, la sortie est encombrée de réponses 404, ce qui rend plus difficile l'identification des ressources réellement existantes.

Utiliser le drapeau -b pour exclure les 404 Not Found

Dans cette étape, vous apprendrez à utiliser le drapeau -b (ou --exclude-length) de Gobuster pour exclure des codes de statut HTTP spécifiques des résultats. Ceci est crucial pour filtrer les réponses non pertinentes et se concentrer sur ce qui compte. Nous exclurons spécifiquement le code de statut 404 Not Found, qui est la réponse bruyante la plus courante.

Le drapeau -b prend une liste de codes de statut séparés par des virgules à exclure.

Exécutez la commande suivante dans votre terminal pour lancer le scan Gobuster, en excluant les réponses 404 :

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

Examinons le nouveau drapeau :

  • -b 404 : Indique à Gobuster d'exclure tous les résultats qui retournent un code de statut HTTP de 404.

Observez attentivement la sortie. Vous devriez remarquer que toutes les entrées avec (Status: 404) ont maintenant disparu, ce qui donne une liste de résultats beaucoup plus propre et plus ciblée.

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

Cela améliore considérablement la lisibilité et l'utilité de vos résultats de scan.

Exécuter le scan et observer la sortie plus propre

Dans cette étape, vous allez relancer le scan Gobuster avec le drapeau -b 404 et porter une attention particulière à la sortie pour confirmer que les réponses 404 sont bien exclues. Cela renforce votre compréhension du fonctionnement du drapeau d'exclusion et de son impact sur les résultats du scan.

Exécutez à nouveau la commande pour voir la sortie filtrée :

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

Au fur et à mesure que le scan progresse, vous ne verrez que les entrées qui ont retourné des codes de statut autres que 404. Cela démontre l'efficacité du drapeau -b pour réduire le bruit.

Exemple de sortie plus propre attendue :

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

Remarquez comment les entrées nonexistent_page, admin et test (qui retournaient 404) ne sont plus présentes dans la sortie. Cela rend beaucoup plus facile l'identification des ressources valides.

Combiner -s et -b pour un filtrage précis

Dans cette dernière étape, vous apprendrez à combiner les drapeaux -s (inclure les codes de statut) et -b (exclure les codes de statut) pour un filtrage encore plus précis. Bien que -b soit excellent pour supprimer le bruit, il est parfois souhaitable de ne voir que des types de réponses spécifiques, comme les réponses réussies (200 OK) ou les redirections (3xx).

Le drapeau -s vous permet de spécifier une liste de codes de statut séparés par des virgules à inclure dans les résultats. Lorsque les drapeaux -s et -b sont tous deux utilisés, Gobuster appliquera d'abord le filtre -s, puis, parmi les résultats restants, il appliquera le filtre -b.

Supposons que vous souhaitiez uniquement voir les réponses 200 OK et 302 Found, tout en excluant explicitement les 404 Not Found.

Exécutez la commande suivante :

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

Voici la répartition :

  • -s 200,302 : Indique à Gobuster de n'afficher que les résultats avec les codes de statut 200 ou 302.
  • -b 404 : Indique à Gobuster d'exclure les résultats avec le code de statut 404. (Bien que dans ce cas précis, 404 serait déjà exclu par -s, cela démontre la combinaison.)

Observez la sortie. Vous ne devriez maintenant voir que les entrées avec Status: 200 et Status: 302.

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

Cette combinaison puissante vous permet d'affiner vos scans Gobuster pour ne récupérer que les informations les plus pertinentes, améliorant ainsi considérablement votre efficacité en reconnaissance web.

Résumé

Dans ce laboratoire, vous avez appris avec succès à exclure des codes de statut HTTP spécifiques de vos résultats de scan Gobuster. Vous avez commencé par comprendre pourquoi le filtrage est nécessaire, en particulier pour les réponses courantes "bruyantes" comme le 404 Not Found. Vous avez ensuite effectué un scan de référence pour observer la sortie non filtrée. Le cœur de ce laboratoire a consisté à utiliser le drapeau -b pour exclure les codes de statut indésirables, ce qui a conduit à un ensemble de résultats beaucoup plus propre et plus ciblé. Enfin, vous avez exploré comment combiner les drapeaux -s (inclure) et -b (exclure) pour un contrôle encore plus précis de vos scans Gobuster. Cette compétence est inestimable pour une reconnaissance web efficace et ciblée.