Crawling
🌐 Introduction
Le crawling, aussi appelé spidering, est un processus automatisé qui consiste à parcourir systématiquement le Web. Tel une araignée qui suit les fils de sa toile, un crawler explore les liens d'une page à l'autre afin de collecter des informations. Ces crawlers sont des bots utilisant des algorithmes prédéfinis pour découvrir et indexer les pages web, que ce soit pour les moteurs de recherche, l'analyse de données ou, dans notre cas, la reconnaissance web.
🔍 Fonctionnement des Web Crawlers
Le fonctionnement de base d'un crawler est simple, mais redoutablement efficace. Il commence avec une URL de départ (seed) qu'il visite pour en extraire les liens. Ces derniers sont ajoutés à une file d'attente, puis visités à leur tour. Ce processus continue de manière récursive jusqu'à ce que toutes les pages accessibles soient explorées.
Exemple :
Homepage
├── link1
├── link2
└── link3
link1 mène à une page contenant : Homepage, link2, link4, link5
link1 Page
├── Homepage
├── link2
├── link4
└── link5
Ce processus illustre la manière dont un crawler découvre de nouvelles pages, contrairement au fuzzing qui repose sur la supposition.
🧭 Stratégies de Crawling
🌍 Crawling en largeur (Breadth-First)
Le crawler explore tous les liens disponibles sur une page avant d'aller plus loin. Cela permet d'obtenir une vue d'ensemble de la structure du site.

🧱 Crawling en profondeur (Depth-First)
Le crawler suit un chemin en profondeur aussi loin que possible avant de revenir en arrière pour explorer d'autres options. Cela permet d'accéder à des zones plus profondes du site, parfois cachées.

Le choix de la stratégie dépendra de l'objectif : étude globale ou ciblage précis ?
🧩 Données utiles extraites
Les crawlers peuvent récupérer différents types d'informations très utiles pour la reconnaissance :
Liens internes/externe
Cartographier la structure du site et repérer des pages cachées.
Commentaires
Informations sensibles divulguées par des utilisateurs ou développeurs.
Métadonnées
Détails sur l'auteur, la date, les mots-clés, etc.
Fichiers sensibles
Fichiers de configuration, logs, sauvegardes, mots de passe...
Exemples de fichiers sensibles à surveiller :
.bak
,.old
web.config
,settings.php
error_log
,access_log
🔎 Importance du Contexte
Comprendre le contexte des données extraites est essentiel. Isolée, une information peut sembler anodine. Mais croisée avec d'autres, elle peut révéler une vulnérabilité critique.
Exemples :
Plusieurs URLs pointent vers
/files/
. Une exploration manuelle montre que l'indexation est activée, exposant des documents internes.Un commentaire mentionne un "file server". Mis en relation avec la découverte précédente, cela confirme un accès non protégé à des données sensibles.
🧠 Conclusion
Le crawling est une compétence essentielle pour tout analyste offensif ou défensif. En permettant de cartographier un site web et d'en extraire des informations cachées ou sensibles, il constitue une base solide pour les phases ultérieures du test d'intrusion. Associé à une analyse contextuelle rigoureuse, il permet de transformer des données dispersées en réelles pistes d'exploitation.
Mis à jour