Aller au contenu

Insecure HTTP Header Setting: Content-Type

Configuration non sécurisée de l'en-tête HTTP : Content-Type

Description

L'en-tête Content-Type est manquant, ce qui signifie que ce site Web pourrait être exposé à une attaque par détection de type MIME (MIME-sniffing).

Le reniflage de type MIME est une fonctionnalité standard des navigateurs permettant de trouver un moyen approprié de restituer des données lorsque les en-têtes HTTP envoyés par le serveur sont soit peu concluants, soit manquants.

Cela permet aux anciennes versions d'Internet Explorer et de Chrome d'effectuer un reniflage MIME sur le corps de la réponse, ce qui peut amener le corps de la réponse à être interprété et affiché sous un type de contenu différent de celui prévu.

Le problème survient lorsqu'un site Web permet aux utilisateurs de télécharger du contenu publié sur le serveur Web. Si un attaquant parvient à mener une attaque XSS (Cross-site Scripting) en manipulant le contenu de manière à ce qu'il soit accepté par l'application Web et affiché en tant que HTML par le navigateur, il est possible d'injecter du code dans un fichier image, par exemple, et de forcer la victime à l'exécuter en visualisant l'image.

Recommandation

  • Lors de la diffusion de ressources, assurez-vous d'envoyer l'en-tête content-type pour qu'il corresponde de manière appropriée au type de la ressource diffusée. Par exemple, si vous diffusez une page HTML, vous devez envoyer l'en-tête HTTP :
Content-Type: text/html
  • Ajoutez l'en-tête X-Content-Type-Options avec une valeur "nosniff" pour indiquer au navigateur d'accepter le type de contenu envoyé par le site et de ne pas tenter de "renifler" le véritable type de contenu.
X-Content-Type-Options: nosniff

Liens

Normes

  • PCI_STANDARDS:
    • REQ_2_2
    • REQ_6_2
    • REQ_6_3
    • REQ_6_4
    • REQ_11_3
  • HIPAA_CONTROLS:
    • SECURITY212
    • SECURITY213