Vérificateur de Content-Type et de sniffing
Saisissez n’importe quelle valeur d’en-tête HTTP Content-Type pour vérifier si elle est vulnérable aux attaques de sniffing de type MIME. Vous pouvez aussi fournir la valeur de l’en-tête X-Content-Type-Options pour valider si nosniff est correctement configuré. Notre outil analyse plus de 20 types MIME courants avec des évaluations de risque détaillées : tout le traitement se fait localement dans votre navigateur, sans inscription.
Enter a Content-Type header value to check if it is vulnerable to MIME-type sniffing attacks. Optionally provide the X-Content-Type-Options header value to validate whether nosniff is properly configured.
Paste the full Content-Type header value, including any parameters like charset or boundary
Optional. Enter the X-Content-Type-Options header value if your response includes it
Enter a Content-Type header
Check if your Content-Type is vulnerable to MIME sniffing
All analysis is performed locally in your browser. No data is sent to any server.
Pourquoi utiliser notre Vérificateur de Content-Type et de sniffing ?
- Analyse instantanée du type MIME : collez n’importe quelle valeur d’en-tête Content-Type et identifiez immédiatement le type MIME, sa catégorie (HTML, image, script, etc.), les paramètres comme charset et boundary, et s’il fait partie des plus de 20 types de contenu courants du web.
- Validation de X-Content-Type-Options : fournissez éventuellement la valeur de l’en-tête X-Content-Type-Options pour valider si nosniff est correctement configuré. L’outil détecte aussitôt si la directive nosniff est présente et correctement formatée pour empêcher le sniffing de type MIME.
- Évaluation du risque de sniffing : obtenez une évaluation claire du risque — sécurisé, faible, moyen ou élevé — selon votre configuration Content-Type et X-Content-Type-Options. Comprenez précisément à quel point votre contenu est vulnérable aux attaques de sniffing de type MIME.
- Recommandations de sécurité concrètes : recevez des recommandations étape par étape adaptées à votre Content-Type et à la configuration de vos en-têtes. Découvrez exactement quels changements apporter pour protéger vos utilisateurs contre les vulnérabilités de sniffing de type de contenu et les attaques XSS.
Cas d’usage courants du Vérificateur de Content-Type et de sniffing
- Audit et durcissement de la sécurité web : lors d’audits de sécurité, vérifiez chaque en-tête Content-Type de réponse de votre application web. Assurez-vous que X-Content-Type-Options: nosniff est configuré globalement et qu’aucun point de terminaison n’est vulnérable aux attaques de sniffing MIME pouvant mener à du XSS.
- Tests d’intrusion et évaluation des vulnérabilités : identifiez les vulnérabilités de sniffing MIME lors de tests d’intrusion. Vérifiez si les points de terminaison de téléversement, les origines CDN ou les réponses d’API omettent l’en-tête nosniff, ce qui permettrait aux attaquants de déguiser du contenu malveillant en types de fichiers sûrs.
- Configuration de CDN et de proxy inverse : vérifiez que votre CDN, votre répartiteur de charge ou votre proxy inverse transmet ou ajoute correctement l’en-tête X-Content-Type-Options. Des proxys mal configurés peuvent supprimer des en-têtes de sécurité et laisser les réponses de votre origine vulnérables au sniffing.
- Conformité et exigences réglementaires : respectez les normes de conformité de sécurité (PCI DSS, OWASP Top 10, ISO 27001, HITRUST) qui exigent des en-têtes de sécurité appropriés. L’en-tête X-Content-Type-Options est un contrôle essentiel de prévention des fuites d’informations et de sécurité du contenu.
- Revue de la sécurité du téléversement de fichiers : lorsque des utilisateurs téléversent des fichiers dans votre application, vérifiez que le contenu téléversé est diffusé avec les bons en-têtes Content-Type et la directive nosniff. Empêchez les attaquants de téléverser des fichiers HTML/JavaScript déguisés qui pourraient s’exécuter dans le navigateur d’autres utilisateurs.
- Vérification des en-têtes de réponse d’API : contrôlez que vos réponses d’API REST, de point de terminaison GraphQL ou de webhooks incluent les en-têtes Content-Type et X-Content-Type-Options appropriés. Les consommateurs d’API peuvent être vulnérables au sniffing si les réponses utilisent des types de contenu génériques sans protection.
Qu’est-ce que le sniffing de type MIME ?
Le sniffing de type MIME (aussi appelé sniffing de contenu) est un comportement des navigateurs qui consiste à ignorer l’en-tête Content-Type déclaré par le serveur et à inspecter le contenu réel pour deviner de quel type de données il s’agit. Il était à l’origine conçu pour la compatibilité avec des serveurs mal configurés, mais il crée une vulnérabilité de sécurité : un attaquant peut téléverser un fichier qui prétend être une image (Content-Type: image/png) mais contient du HTML avec du JavaScript. Sans X-Content-Type-Options: nosniff, le navigateur pourrait exécuter le contenu comme du HTML, permettant ainsi du cross-site scripting (XSS).
Comment fonctionne notre Vérificateur de Content-Type et de sniffing
- Saisir le Content-Type : collez la valeur de l’en-tête Content-Type de votre réponse HTTP. Incluez les paramètres comme charset et boundary s’ils sont présents. L’outil analyse le type MIME principal et tous les paramètres.
- Ajouter éventuellement X-Content-Type-Options : saisissez la valeur de l’en-tête X-Content-Type-Options si votre réponse l’inclut. L’outil vérifie si elle est définie sur « nosniff » (la seule valeur valide offrant une protection).
- Évaluation du risque : l’outil analyse le type MIME par rapport à une base de données de types connus, leurs niveaux de risque de sniffing et la présence de la directive nosniff. Il génère un niveau de risque (sécurisé, faible, moyen, élevé) avec des recommandations précises et concrètes pour renforcer votre sécurité.
Comprendre les paramètres de Content-Type
- Charset : spécifie l’encodage des caractères du contenu (par exemple, charset=utf-8). Il indique au navigateur comment décoder les octets en caractères. Des déclarations de charset incorrectes peuvent mener à des attaques basées sur l’encodage.
- Boundary : utilisé dans les Content-Type multipart (multipart/form-data) pour séparer les différentes parties d’un message. Le paramètre boundary est une chaîne unique qui apparaît entre chaque partie du contenu multipart.
- Structure du type de média : Content-Type suit le format type/sous-type; paramètre=valeur. Le type est la catégorie de premier niveau (text, image, audio, video, application, multipart, message), et le sous-type est le format spécifique (html, png, json, etc.).
- Validation de la syntaxe : l’outil analyse l’en-tête Content-Type pour extraire et afficher chaque paramètre. Une syntaxe de base est vérifiée, mais une validation complète selon la RFC 7231 exige de contrôler le bon entre guillemets des valeurs de paramètres et l’usage correct du point-virgule comme délimiteur.
Confidentialité, sécurité et disponibilité
Notre Vérificateur de Content-Type et de sniffing traite tout localement dans votre navigateur. Les valeurs d’en-tête que vous saisissez ne sont jamais envoyées à nos serveurs : toute l’analyse, l’évaluation et la génération de recommandations se font côté client en JavaScript pur. L’outil est 100 % gratuit, sans inscription, sans compte et sans limite d’utilisation. Nous maintenons une base de données complète de plus de 20 types MIME courants avec leurs caractéristiques de risque de sniffing, et l’outil peut analyser n’importe quelle valeur de Content-Type, y compris des types personnalisés ou propres à un fournisseur.
Foire aux questions
Le sniffing de type MIME est un comportement des navigateurs qui consiste à ignorer l’en-tête Content-Type déclaré et à inspecter le contenu réel pour déterminer son type. Cela peut permettre à des attaquants de diffuser du contenu malveillant (comme du HTML avec du JavaScript) avec un en-tête Content-Type anodin, que le navigateur exécutera comme du HTML, menant à des attaques XSS.
L’en-tête de réponse X-Content-Type-Options avec la valeur « nosniff » indique au navigateur de suivre strictement l’en-tête Content-Type déclaré et de ne pas effectuer de sniffing de type MIME. C’est l’un des en-têtes de sécurité les plus importants et il devrait être défini sur chaque réponse HTTP.
Saisissez une valeur d’en-tête Content-Type et, éventuellement, une valeur d’en-tête X-Content-Type-Options. L’outil analyse le Content-Type, identifie la catégorie du type MIME, vérifie les paramètres comme charset et boundary, puis évalue la vulnérabilité au sniffing selon le niveau de risque du type MIME et la présence de la directive nosniff — le tout traité localement dans votre navigateur.
text/html, text/javascript, application/octet-stream, image/svg+xml et text/xml sont les plus vulnérables. Le contenu HTML peut être exécuté comme page web, le JavaScript peut s’exécuter dans le contexte du navigateur, les fichiers SVG peuvent contenir des scripts intégrés et le binaire générique (octet-stream) pousse les navigateurs à deviner le type à partir des octets du contenu.
Sur Nginx : `add_header X-Content-Type-Options "nosniff" always;`. Sur Apache : `Header always set X-Content-Type-Options "nosniff"`. La plupart des frameworks, comme Express avec Helmet, Django et Rails, l’incluent par défaut.
Sans l’en-tête, les navigateurs décident de pratiquer ou non le sniffing selon leurs propres heuristiques. Avec « nosniff », il est explicitement demandé aux navigateurs de faire confiance à l’en-tête Content-Type, ce qui supprime toute ambiguïté et garantit un comportement prévisible et sûr.
Sans cet en-tête, si un attaquant téléverse un fichier nommé « image.png » contenant du HTML avec du JavaScript et que votre serveur le diffuse avec Content-Type: image/png, un navigateur peut l’interpréter comme du HTML et exécuter le script, ce qui crée une vulnérabilité XSS.
Oui ! 100 % gratuit, sans inscription, sans compte et sans limite d’utilisation. Toute l’analyse se fait localement dans votre navigateur : les valeurs de vos en-têtes ne sont jamais envoyées à un serveur.