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 heritage du navigateur: il inspecte les premiers octets d'une reponse et outrepasse le Content-Type declare par le serveur pour rendre la ressource. Les attaquants en abusent quand une application sert des fichiers televerses avec un mauvais type: un fichier contenant HTML ou JavaScript peut etre sniffe comme text/html et execute dans l'origine de la victime, conduisant a un XSS stocke. La mitigation standard consiste a envoyer l'en-tete X-Content-Type-Options: nosniff, qui force le navigateur a respecter le type declare. A combiner avec des Content-Type stricts, une CSP solide et l'hebergement du contenu utilisateur sur une origine distincte.
● Exemples
- 01
X-Content-Type-Options: nosniff
- 02
Endpoint d'upload d'avatar declarant image/png alors que le fichier est du HTML; sans nosniff, le navigateur l'execute comme 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 fonctionne MIME Sniffing ?
Le MIME sniffing est une fonctionnalite heritage du navigateur: il inspecte les premiers octets d'une reponse et outrepasse le Content-Type declare par le serveur pour rendre la ressource. Les attaquants en abusent quand une application sert des fichiers televerses avec un mauvais type: un fichier contenant HTML ou JavaScript peut etre sniffe comme text/html et execute dans l'origine de la victime, conduisant a un XSS stocke. La mitigation standard consiste a envoyer l'en-tete X-Content-Type-Options: nosniff, qui force le navigateur a respecter le type declare. A combiner avec des Content-Type stricts, une CSP solide et l'hebergement du contenu utilisateur sur une origine distincte.
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.
● Termes liés
- appsec№ 496
En-têtes de sécurité HTTP
En-têtes de réponse demandant au navigateur d'appliquer des comportements défensifs : HTTPS strict, restriction de framing, politiques de contenu, contrôle du referer.
- attacks№ 240
Cross-Site Scripting (XSS)
Vulnérabilité web permettant à un attaquant d'injecter des scripts malveillants dans des pages consultées par d'autres utilisateurs, exécutés dans leur navigateur sous l'origine du site.
- appsec№ 214
Politique de sécurité du contenu (CSP)
En-tête HTTP indiquant au navigateur quelles sources de scripts, styles, cadres et autres contenus sont autorisées, limitant l'impact des XSS et des injections de données.
- attacks№ 541
Téléversement de fichiers non sécurisé
Vulnérabilité web où une application accepte les fichiers utilisateurs sans validation appropriée, permettant l'envoi de fichiers malveillants menant à du RCE, du défacement ou du vol de données.
- appsec№ 960
Politique de même origine (SOP)
Regle de securite du navigateur qui restreint la maniere dont un document ou script charge depuis une origine peut interagir avec une ressource d'une autre origine.
- appsec№ 982
Codage sécurisé
Pratique consistant à écrire du code minimisant les défauts de sécurité, en suivant des modèles défensifs, des règles propres au langage et des guides reconnus.