MIME Sniffing
Qu'est-ce que MIME Sniffing ?
MIME SniffingComportement du navigateur consistant a deviner le type de contenu d'une reponse a partir de ses octets, exploitable pour executer des fichiers televerses comme scripts.
Le MIME sniffing est une fonctionnalite heritee du navigateur par laquelle celui-ci inspecte les premiers octets d'une reponse et outrepasse l'en-tete Content-Type declaree par le serveur afin de rendre la ressource de maniere plus utile. Les attaquants en abusent lorsqu'une application sert des fichiers televerses par les utilisateurs avec un type incorrect ou generique: un fichier contenant du HTML ou du JavaScript peut etre sniffe comme text/html et execute dans l'origine de la victime, permettant un XSS stocke.
Ce comportement remonte aux premieres versions d'Internet Explorer, dont le sniffing agressif fut une source notoire de XSS par "confusion de type de contenu"; Microsoft a introduit l'option de desactivation X-Content-Type-Options: nosniff dans IE8 (2008), et elle est aujourd'hui normalisee par le MIME Sniffing Standard de la specification WHATWG Fetch. Envoyer nosniff force le navigateur a respecter le type declare et a refuser d'executer un script ou une feuille de style dont le Content-Type ne correspond pas a la destination de la requete. Le durcissement moderne superpose plusieurs controles: servir chaque fichier fourni par l'utilisateur avec un Content-Type correct et specifique ainsi qu'un Content-Disposition: attachment le cas echeant, heberger le contenu utilisateur sur une origine bac a sable distincte, et appliquer une Content-Security-Policy restrictive. Les scanners de securite et les evaluateurs d'en-tetes (par exemple Mozilla Observatory) signalent toute reponse HTML depourvue de nosniff.
flowchart TD
A[L'utilisateur televerse un fichier] --> B[L'app le renvoie<br/>avec un type errone/generique]
B --> C{X-Content-Type-Options:<br/>nosniff defini?}
C -- Non --> D[Le navigateur sniffe les octets<br/>et rend comme text/html]
D --> E[Le XSS stocke s'execute<br/>dans l'origine de la victime]
C -- Oui --> F[Le navigateur respecte<br/>le type declare]
F --> G[Le fichier est telecharge, pas execute]● Exemples
- 01
X-Content-Type-Options: nosniff
- 02
Un endpoint de televersement d'avatar qui renvoie image/png alors que le fichier est du HTML; sans nosniff, le navigateur l'execute comme une page.
● Questions fréquentes
Qu'est-ce que MIME Sniffing ?
Comportement du navigateur consistant a deviner le type de contenu d'une reponse a partir de ses octets, exploitable pour executer des fichiers televerses comme scripts. Cette notion relève de la catégorie Sécurité applicative en cybersécurité.
Que signifie MIME Sniffing ?
Comportement du navigateur consistant a deviner le type de contenu d'une reponse a partir de ses octets, exploitable pour executer des fichiers televerses comme scripts.
Comment se défendre contre MIME Sniffing ?
Les défenses contre MIME Sniffing combinent habituellement des contrôles techniques et des pratiques opérationnelles, comme détaillé dans la définition ci-dessus.