Qu'est-ce que "X-Content-Type-Options=nosniff"?

je fais quelques tests de pénétration sur mon hébergeur local avec OWASP ZAP, et il n'arrête pas de rapporter ce message:

l'en-tête Anti-MIME-Sniffing X-Content-Type-Options n'a pas été défini à "nosniff "

cette vérification est spécifique à Internet Explorer 8 et Google Chrome. S'assurer que chaque page définit un en-tête Content-Type et le X-CONTENT-TYPE-OPTIONS si L'en-tête Content-Type est inconnu

I Je n'ai aucune idée de ce que ça veut dire, et je n'ai rien trouvé en ligne. J'ai essayé d'ajouter:

<meta content="text/html; charset=UTF-8; X-Content-Type-Options=nosniff" http-equiv="Content-Type" />

mais je reçois toujours l'alerte.

Quelle est la bonne façon de paramétrer le paramètre?

208
demandé sur Antti Haapala 2013-08-20 18:27:49

5 réponses

il empêche le navigateur de faire sniffer de type MIME. La plupart des navigateurs respectent maintenant cet en-tête, y compris Chrome/Chromium, Edge, IE >= 8.0, Firefox >= 50 et Opera >= 13. Voir:

https://blogs.msdn.com/b/ie/archive/2008/09/02/ie8-security-part-vi-beta-2-update.aspx?Redirected=true

en envoyant le Nouvel en-tête de réponse X-Content-Type-Options avec la valeur nosniff empêchera Internet L'explorateur de MIME-reniflant une réponse à l'écart du type de contenu déclaré.

EDIT:

OH et, c'est un en-tête HTTP, pas une option de métabalise HTML.

Voir aussi: http://msdn.microsoft.com/en-us/library/ie/gg622941 (v=vs 85).aspx

138
répondu Remi Gacogne 2017-09-14 18:16:29
# prevent mime based attacks
Header set X-Content-Type-Options "nosniff"

cet en-tête empêche les attaques basées sur" mime". Cet en-tête empêche Internet Explorer De MIME-renifler une réponse loin du type de contenu déclaré que l'en-tête demande au navigateur de ne pas surcharger le type de contenu de réponse. Avec l'option nosniff, si le serveur dit que le contenu est text / html, le navigateur affichera text/html.

http://stopmalvertising.com/security/securing-your-website-with-.htaccess/.htaccess-http-headers.html

95
répondu Won Jun Bae 2015-10-21 19:27:33

Description

paramétrer la réponse HTTP D'un serveur X-Content-Type-Options en-tête de nosniff indique aux navigateurs de désactiver content ou MIME sniffing qui est utilisé pour outrepasser la réponse Content-Type en-têtes pour deviner et traiter les données en utilisant un type de contenu implicite. Bien que cela puisse être pratique dans certains scénarios, cela peut aussi mener à certaines attaques énumérées ci-dessous. Configurer votre serveur pour retourner le X-Content-Type-Options l'en-tête de réponse HTTP nosniff indiquera aux navigateurs qui prennent en charge le MIME sniffing d'utiliser le Content-Type fourni par le serveur et de ne pas interpréter le contenu comme un type de contenu différent.

Prise En Charge Du Navigateur

X-Content-Type-Options est pris en charge dans Chrome, Firefox et Edge ainsi que d'autres navigateurs. La dernière prise en charge du navigateur est disponible sur la table de compatibilité du navigateur Mozilla Developer Network (MDN) pour X-Content-Type-Options:

https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options

Attaques Contre

  1. MIME Confusion Attack permet des attaques via des sites de contenu générés par les utilisateurs en permettant aux utilisateurs de télécharger du code malveillant qui est ensuite exécuté par les navigateurs qui interprètent les fichiers en utilisant d'autres types de contenu, par exemple application/javascript implicite ou text/plain explicite . Cela peut donner lieu à une attaque " drive-by download qui est un vecteur d'attaque courant pour l'hameçonnage. Les Sites qui hébergent du contenu généré par l'utilisateur doivent utiliser cet en-tête pour protéger leurs utilisateurs. Ceci est mentionné par VeraCode et OWASP qui dit ce qui suit:

    cela réduit l'exposition aux attaques de téléchargement au drive-by et aux sites servant le contenu téléchargé par l'utilisateur qui, en nommant intelligemment, pourrait être traité par MSIE comme des fichiers HTML exécutables ou dynamiques.

  2. la liaison non autorisée peut aussi être activée par Content-Type sniffing. En se connectant à des sites avec des ressources pour un seul but, par exemple la visualisation, les applications peuvent se fier à sniffing de type de contenu GitHub affiche le code JavaScript pour la visualisation, mais pas pour l'exécution:

    certains utilisateurs non-humains (à savoir les ordinateurs) ont pris des actifs de" liaison à chaud "via la fonctionnalité de vue brute -- en utilisant L'URL brute comme src pour une étiquette <script> ou <img> . Le problème est qu'il ne s'agit pas d'actifs statiques. Le la vue de fichier brute, comme toute autre vue dans une application Rails, doit être rendue avant d'être retournée à l'utilisateur. Cela se traduit rapidement par un lourd tribut à la performance. Dans le passé, nous avons été forcés de bloquer le contenu populaire servi de cette façon parce qu'il a mis une pression excessive sur nos serveurs.

77
répondu Grokify 2018-09-11 20:57:42

pour les serveurs Microsoft IIS, vous pouvez activer cet en-tête via votre web.config fichier:

<system.webServer>
    <httpProtocol>
      <customHeaders>
        <remove name="X-Content-Type-Options"/>
        <add name="X-Content-Type-Options" value="nosniff"/>
      </customHeaders>
    </httpProtocol>
</system.webServer>

et vous avez fini.

15
répondu ComeIn 2017-03-09 23:03:37

l'en-tête HTTP de la réponse X-Content-Type-Options est un marqueur utilisé par le serveur pour indiquer que les types MIME annoncés dans les en-têtes Content-type ne doivent pas être changés et suivis. Cela permet d'opt-out de type MIME renifler, ou, en d'autres termes, c'est une façon de dire que les webmasters savaient ce qu'ils faisaient.

syntaxe:

X-Content-Type-Options: nosniff

Directives:

nosniff Bloque une requête si le type demandé est 1. "style" et le type MIME n'est pas" text/css", ou 2. "script" et le type MIME n'est pas un type MIME JavaScript.

Note: nosniff ne s'applique qu'aux types" script "et" style". Aussi l'application de nosniff aux images s'est avérée incompatible avec les sites Web existants.

Spécification:

https://fetch.spec.whatwg.org/#x-content-type-options-header

6
répondu Sahil Aggarwal 2017-10-09 11:25:51