robots.txt

🧭 Qu’est-ce que le fichier robots.txt ?

Le fichier robots.txt est un fichier texte simple situĂ© Ă  la racine d’un site web (par exemple : https://www.example.com/robots.txt). Il sert de guide d’étiquette numĂ©rique pour les robots d’indexation (crawlers) tels que ceux de Google, Bing ou d’autres moteurs de recherche. Il indique quelles parties du site un robot est autorisĂ© Ă  explorer ou non.

Ce fichier est basé sur la norme Robots Exclusion Protocol, un ensemble de rÚgles que les crawlers respectent volontairement.


⚙ Fonctionnement

Le fichier contient des directives qui s’appliquent à des user-agents (identifiants de bots). Voici un exemple simple :

User-agent: *
Disallow: /admin/

👉 Cette configuration signifie : « Tous les bots () ne sont pas autorisĂ©s Ă  explorer le dossier /admin/ »*.


📚 Structure d’un fichier robots.txt

Chaque "bloc" du fichier commence par un User-agent: et est suivi de directives comme :

Directive
Description
Exemple

Disallow

Interdit l’accùs à une URL ou un chemin

Disallow: /private/

Allow

Autorise explicitement l’accĂšs mĂȘme s’il est dans un Disallow

Allow: /public/

Crawl-delay

Implique une pause entre chaque requĂȘte du bot (en secondes)

Crawl-delay: 10

Sitemap

Indique l’URL du sitemap XML du site

Sitemap: https://example.com/sitemap.xml

💡 Il est possible de spĂ©cifier des rĂšgles pour des bots prĂ©cis :

User-agent: Googlebot
Disallow: /intranet/

đŸ€” Pourquoi ce fichier est-il important pour un pentester ?

MĂȘme s’il est censĂ© ĂȘtre respectĂ© par les bots, le fichier robots.txt n’est pas un mĂ©canisme de sĂ©curitĂ© ! Il est souvent oubliĂ© ou nĂ©gligĂ© par les dĂ©veloppeurs, ce qui en fait une mine d’or pour la reconnaissance :

📌 Utilisations en phase de reconnaissance

  • 🔎 DĂ©couverte de rĂ©pertoires sensibles : les chemins interdits (Disallow) rĂ©vĂšlent souvent des pages d’administration, des outils internes ou des fichiers confidentiels.

  • 🧭 Cartographie de la structure du site : il permet de dĂ©couvrir des sections non rĂ©fĂ©rencĂ©es dans les menus ou le sitemap.

  • 🐝 DĂ©tection de piĂšges Ă  bots (honeypots) : certains sites placent de faux chemins pour repĂ©rer les crawlers malveillants.


đŸ§Ș Exemple de fichier robots.txt

User-agent: *
Disallow: /admin/
Disallow: /private/
Allow: /public/

User-agent: Googlebot
Crawl-delay: 10

Sitemap: https://www.example.com/sitemap.xml

Ce fichier indique :

  • ❌ Tous les bots doivent Ă©viter /admin/ et /private/

  • ✅ Ils peuvent accĂ©der Ă  /public/

  • 🕐 Googlebot doit attendre 10 secondes entre chaque requĂȘte

  • đŸ—ș Un sitemap est fourni


🚹 Limitations et risques

  • ❌ Le fichier n’est pas sĂ©curisĂ© : tout utilisateur peut y accĂ©der.

  • 🛑 Il n'empĂȘche pas techniquement l’accĂšs, il ne fait qu’informer les bots respectueux.

  • 🧠 Il rĂ©vĂšle souvent des informations sensibles involontairement.


🔍 En pratique

Lors d’un test de pĂ©nĂ©tration, il faut penser Ă  toujours consulter le fichier robots.txt :

curl -s https://target.com/robots.txt

Et à examiner les chemins mentionnés dans Disallow pour y déceler :

  • des pages d’administration (/admin/, /panel/, /login/)

  • des sauvegardes (/backup/, /db_bak/)

  • des scripts ou endpoints confidentiels (/dev/, /api/test/)


🎓 À retenir

Le fichier robots.txt est une source d'informations prĂ©cieuse pour le pentester en phase de reconnaissance passive. Il ne doit jamais ĂȘtre ignorĂ© car il peut :

  • rĂ©vĂ©ler des ressources cachĂ©es,

  • orienter vers des points d’entrĂ©e oubliĂ©s,

  • ou au contraire signaler la prĂ©sence de piĂšges anti-crawler.

📌 RĂšgle d’or : si un site indique de ne pas aller dans /secret/, le pentester se demandera forcĂ©ment ce qu’il s’y cache...


Mis Ă  jour