4.2.5 Revue des commentaires et metadonnees des pages web pour recherche de fuite d'information (OTG-INFO-005)

Sommaire
C’est très courant, et même recommandé, que les programmeurs mettent des commentaires détaillés et des métadonnées dans leur code source. Cependant des commentaires et des métadonnées, dans du code HTML, peuvent révéler des informations internes qui ne devraient pas être accessibles à de potentiels attaquants. Il faut faire une revue des commentaires et des métadonnées pour déterminer s’il y a des fuites d’information.

Objectifs du test
La revue des commentaires et métadonnées permet de mieux comprendre l’application et de trouver d’éventuelles fuites d’information.

Comment Tester
Les commentaires HTML sont souvent utilisés par les programmeurs pour déboguer une application. Parfois, ils oublient ces commentaires et les laissent en exploitation. Les testeurs doivent rechercher les commentaires HTML qui commencent par "".

Test en Boite Noire
Rechercher, dans le code source HTML, les commentaires contenant des informations sensibles qui pourraient aider l’attaquant à mieux comprendre l’application. Cela peut être du code SQL, des identifiants et des mots de passe, des adresses IP internes ou des informations de débogage. ... 1 Mary 2 Peter 3 Joe

...

Le testeur peut même trouver des informations telles que :

Vérifier la version HTML et les URLs de Définition de Type de Document (DTD) pour connaître les versions applicables : <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
 * "strict.dtd" -- default strict DTD
 * "loose.dtd" -- loose DTD
 * "frameset.dtd" -- DTD for frameset documents

Certaines balises META ne fournissent pas de vecteur d’attaque active mais peuvent permettre à un attaquant d’obtenir des informations à propos de l’application comme, par exemple :



Certaines balises META modifient les entêtes des réponses HTTP comme, par exemple, la balise META http-equiv qui met dans l’entête de la réponse HTTP, la valeur de l’attribut «content».

Ainsi la balise :



générera dans l’entête HTTP de réponse :

expires: Fri, 21 Dec 2012 12:34:56 GMT

Et la balise suivante :



génèrera dans l’entête HTTP :

cache-control: no-cache

Tester si cela peut permettre de réaliser une attaque par injection (par ex. une attaque CRLF). Cela peut aussi aider à déterminer le niveau de fuites de données à partir du cache du navigateur.

Une balise META usuelle, mais non conforme aux lignes directrices sur l'accessibilité des contenus Web(WCAG), est "refresh" :



Une utilisation usuelle de la balise META permet de spécifier les mots-clés que le moteur de recherche peut utiliser pour améliorer la qualité des résultats :



Bien que la plupart des serveurs web gèrent l’indexation des moteurs de recherche avec le fichier robots.txt, cela peut aussi être géré avec des balises META. La balise suivante informe les robots de ne pas indexer et de ne pas suivre les liens sur les pages HTML contenant cette balise :



Les recommandations, élaborées par le consortium international W3C, telles que PICS «plate-forme de sélection du contenu Internet» ou, POWDER «protocole de description des ressources du Web» fournissent une infrastructure d’association des métadonnées avec un contenu Internet.

Test en Boite Grise
Non applicable.

Outils

 * Wget
 * Fonction du navigateur "voir le code source"
 * Eyeballs
 * cURL

Références
[1] http://www.w3.org/PICS/ PICS, plate-forme de sélection du contenu Internet [2] http://www.w3.org/2009/09/powder-pr.html.fr POWDER, protocole de description des ressources du Web

Livres Blancs [1] http://www.w3.org/TR/1999/REC-html401-19991224 HTML version 4.01 [2] http://www.w3.org/TR/2010/REC-xhtml-basic-20101123/ XHTML (pour petits appareils) [3] http://www.w3.org/TR/html5/ HTML version 5