This site is the archived OWASP Foundation Wiki and is no longer accepting Account Requests.
To view the new OWASP Foundation website, please visit https://owasp.org

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

From OWASP
Jump to: navigation, search
(Created page with "{{Template:OWASP Testing Guide v4}} == Sommaire == C’est très courant, et même recommandé, que les programmeurs mettent des commentaires détaillés et des métadonnée...")
 
m
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
{{Template:OWASP Testing Guide v4}}
 
{{Template:OWASP Testing Guide v4}}
  
== Sommaire ==
+
== Résumé ==
  
 
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.
 
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.
Line 12: Line 12:
 
== Comment Tester ==
 
== 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 "<!--" et terminées par "-->".
+
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 <pre> <!-- </pre> et sont terminées par : <pre> --></pre>
  
 
=== Test en Boite Noire ===
 
=== Test en Boite Noire ===
Line 45: Line 45:
  
 
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 ne fournissent pas de vecteur d’attaque active mais peuvent permettre à un attaquant d’obtenir des informations à propos de l’application comme, par exemple :
 
+
<pre>
 
<META name="author" content="Andrew Muller">
 
<META name="author" content="Andrew Muller">
 
+
</pre>
 
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».  
 
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 :
 
Ainsi la balise :
 
+
<pre>
 
<META http-equiv="expires" content="Fri, 21 Dec 2012 12:34:56 GMT">
 
<META http-equiv="expires" content="Fri, 21 Dec 2012 12:34:56 GMT">
 
+
</pre>
 
générera dans l’entête HTTP de réponse :  
 
générera dans l’entête HTTP de réponse :  
 
+
<pre>
 
expires: Fri, 21 Dec 2012 12:34:56 GMT
 
expires: Fri, 21 Dec 2012 12:34:56 GMT
 
+
</pre>
 
Et la balise suivante :  
 
Et la balise suivante :  
 
+
<pre>
 
<META http-equiv="cache-control" content="no-cache">
 
<META http-equiv="cache-control" content="no-cache">
 
+
</pre>
 
génèrera dans l’entête HTTP :  
 
génèrera dans l’entête HTTP :  
 
+
<pre>
 
cache-control: no-cache
 
cache-control: no-cache
 
+
</pre>
 
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.
 
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 balise META usuelle, mais non conforme aux lignes directrices sur l'accessibilité des contenus Web(WCAG), est "refresh" :  
 
+
<pre>
 
<META http-equiv="refresh" content="15; URL=https://www.owasp.org/index.html">
 
<META http-equiv="refresh" content="15; URL=https://www.owasp.org/index.html">
 
+
</pre>
 
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 :
 
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 :
 
+
<pre>
 
<META name="keywords" lang="en-us" content="OWASP, security, sunshine, lollipops">
 
<META name="keywords" lang="en-us" content="OWASP, security, sunshine, lollipops">
 
+
</pre>
 
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.  
 
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 :
 
La balise suivante informe les robots de ne pas indexer et de ne pas suivre les liens sur les pages HTML contenant cette balise :
 
+
<pre>
<META name="robots" content="none">  
+
<META name="robots" content="none">
 +
</pre>
  
 
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.  
 
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.  
Line 96: Line 97:
 
== Références ==
 
== Références ==
  
[1] http://www.w3.org/PICS/  PICS, plate-forme de sélection du contenu Internet
+
[1] http://www.w3.org/PICS/  PICS, plate-forme de sélection du contenu Internet<br>
 
[2] http://www.w3.org/2009/09/powder-pr.html.fr POWDER, protocole de description des ressources du Web
 
[2] http://www.w3.org/2009/09/powder-pr.html.fr POWDER, protocole de description des ressources du Web
  
 
'''Livres Blancs'''  
 
'''Livres Blancs'''  
[1] http://www.w3.org/TR/1999/REC-html401-19991224 HTML version 4.01  
+
[1] http://www.w3.org/TR/1999/REC-html401-19991224 HTML version 4.01<br>
[2] http://www.w3.org/TR/2010/REC-xhtml-basic-20101123/ XHTML (pour petits appareils)  
+
[2] http://www.w3.org/TR/2010/REC-xhtml-basic-20101123/ XHTML (pour petits appareils)<br>
 
[3] http://www.w3.org/TR/html5/ HTML version 5
 
[3] http://www.w3.org/TR/html5/ HTML version 5

Latest revision as of 17:26, 16 October 2015

This article is part of the new OWASP Testing Guide v4.
Back to the OWASP Testing Guide v4 ToC: https://www.owasp.org/index.php/OWASP_Testing_Guide_v4_Table_of_Contents Back to the OWASP Testing Guide Project: https://www.owasp.org/index.php/OWASP_Testing_Project

Résumé

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
 <!-- 
et sont terminées 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. ...

<div class="table2">
  <div class="col1">1</div><div class="col2">Mary</div>
  <div class="col1">2</div><div class="col2">Peter</div>
  <div class="col1">3</div><div class="col2">Joe</div>

<!-- Query: SELECT id, name FROM app.users WHERE active='1' -->

</div>
...

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

<!-- Use the DB administrator password for testing:  f@keP@a$$w0rD -->

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 :

<META name="author" content="Andrew Muller">

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 :

<META http-equiv="expires" content="Fri, 21 Dec 2012 12:34:56 GMT">

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

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

Et la balise suivante :

<META http-equiv="cache-control" content="no-cache">

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" :

<META http-equiv="refresh" content="15; URL=https://www.owasp.org/index.html">

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 :

<META name="keywords" lang="en-us" content="OWASP, security, sunshine, lollipops">

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 :

<META name="robots" content="none">

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