Saltar al contenido
Aback Tools Logo

Comprobador de Content-Type y sniffing

Introduce cualquier valor de la cabecera HTTP Content-Type para comprobar si es vulnerable a ataques de sniffing de tipo MIME. De forma opcional, indica el valor de la cabecera X-Content-Type-Options para validar si nosniff está bien configurado. Nuestra herramienta analiza más de 20 tipos MIME comunes con evaluaciones detalladas de riesgo: todo el procesamiento ocurre localmente en tu navegador, sin registro.

Content-Type Sniffer Checker

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

Quick test:

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.

¿Por qué usar nuestro Comprobador de Content-Type y sniffing?

  • Análisis instantáneo del tipo MIME: pega cualquier valor de cabecera Content-Type e identifica al instante el tipo MIME, su categoría (HTML, imagen, script, etc.), parámetros como charset y boundary y si es uno de los más de 20 tipos de contenido comunes en la web.
  • Validación de X-Content-Type-Options: de forma opcional, proporciona el valor de la cabecera X-Content-Type-Options para validar si nosniff está bien configurado. La herramienta detecta al instante si la directiva nosniff está presente y correctamente formateada para evitar el sniffing de tipo MIME.
  • Evaluación del riesgo de sniffing: obtén una evaluación clara del riesgo —seguro, bajo, medio o alto— según tu configuración de Content-Type y X-Content-Type-Options. Entiende exactamente cómo de vulnerable es tu contenido a los ataques de sniffing de tipo MIME.
  • Recomendaciones de seguridad prácticas: recibe recomendaciones paso a paso adaptadas a tu Content-Type y a la configuración de tus cabeceras. Descubre exactamente qué cambios hacer para proteger a tus usuarios de vulnerabilidades de sniffing de tipo de contenido y ataques XSS.

Casos de uso habituales del Comprobador de Content-Type y sniffing

  • Auditoría y refuerzo de la seguridad web: durante las auditorías de seguridad, comprueba cada cabecera Content-Type de respuesta de tu aplicación web. Verifica que X-Content-Type-Options: nosniff esté configurada globalmente y que ningún endpoint sea vulnerable a ataques de sniffing MIME que puedan provocar XSS.
  • Pruebas de penetración y evaluación de vulnerabilidades: identifica vulnerabilidades de sniffing MIME durante las pruebas de penetración. Comprueba si a los endpoints de subida de archivos, a los orígenes del CDN o a las respuestas de la API les falta la cabecera nosniff, lo que permitiría a los atacantes disfrazar contenido malicioso como tipos de archivo seguros.
  • Configuración de CDN y proxy inverso: verifica que tu CDN, balanceador de carga o proxy inverso reenvía o añade correctamente la cabecera X-Content-Type-Options. Los proxies mal configurados pueden eliminar cabeceras de seguridad y dejar las respuestas de tu origen vulnerables al sniffing.
  • Cumplimiento y requisitos normativos: cumple los estándares de seguridad (PCI DSS, OWASP Top 10, ISO 27001, HITRUST) que exigen cabeceras de seguridad adecuadas. La cabecera X-Content-Type-Options es un control crítico para la prevención de fugas de información y la seguridad del contenido.
  • Revisión de la seguridad en la subida de archivos: cuando los usuarios suben archivos a tu aplicación, verifica que el contenido subido se sirva con las cabeceras Content-Type correctas y la directiva nosniff. Evita que los atacantes suban archivos HTML/JavaScript disfrazados que podrían ejecutarse en el navegador de otros usuarios.
  • Verificación de cabeceras de respuesta de API: comprueba que las respuestas de tu API REST, tu endpoint GraphQL o tus webhooks incluyan las cabeceras Content-Type y X-Content-Type-Options adecuadas. Los consumidores de la API pueden ser vulnerables al sniffing si las respuestas usan tipos de contenido genéricos sin protección.

¿Qué es el sniffing de tipo MIME?

El sniffing de tipo MIME (también llamado sniffing de contenido) es un comportamiento de los navegadores en el que ignoran la cabecera Content-Type declarada por el servidor y, en su lugar, inspeccionan el contenido real para adivinar qué tipo de datos es. Originalmente se diseñó para la compatibilidad con servidores mal configurados, pero crea una vulnerabilidad de seguridad: un atacante puede subir un archivo que afirma ser una imagen (Content-Type: image/png) pero que contiene HTML con JavaScript. Sin X-Content-Type-Options: nosniff, el navegador podría ejecutar el contenido como HTML, lo que posibilita el cross-site scripting (XSS).

Cómo funciona nuestro Comprobador de Content-Type y sniffing

  1. Introduce el Content-Type: pega el valor de la cabecera Content-Type de tu respuesta HTTP. Incluye parámetros como charset y boundary si están presentes. La herramienta analiza el tipo MIME principal y todos los parámetros.
  2. Añade X-Content-Type-Options (opcional): introduce el valor de la cabecera X-Content-Type-Options si tu respuesta la incluye. La herramienta comprueba si está establecida como “nosniff” (el único valor válido que ofrece protección).
  3. Evaluación del riesgo: la herramienta analiza el tipo MIME con una base de datos de tipos conocidos, sus niveles de riesgo de sniffing y la presencia de la directiva nosniff. Genera un nivel de riesgo (seguro, bajo, medio, alto) con recomendaciones específicas y prácticas para mejorar tu postura de seguridad.

Entender los parámetros de Content-Type

  • Charset: especifica la codificación de caracteres del contenido (por ejemplo, charset=utf-8). Indica al navegador cómo decodificar los bytes en caracteres. Las declaraciones de charset incorrectas pueden dar lugar a ataques basados en la codificación.
  • Boundary: se usa en Content-Type de tipo multipart (multipart/form-data) para separar las distintas partes de un mensaje. El parámetro boundary es una cadena única que aparece entre cada parte del contenido multipart.
  • Estructura del tipo de medio: Content-Type sigue el formato tipo/subtipo; parámetro=valor. El tipo es la categoría de nivel superior (text, image, audio, video, application, multipart, message) y el subtipo es el formato específico (html, png, json, etc.).
  • Validación de sintaxis: la herramienta analiza la cabecera Content-Type para extraer y mostrar cada parámetro. Aunque se comprueba la sintaxis básica, la validación completa según el RFC 7231 requiere verificar el entrecomillado correcto de los valores de los parámetros y el uso correcto del delimitador de punto y coma.

Privacidad, seguridad y disponibilidad

Nuestro Comprobador de Content-Type y sniffing procesa todo localmente en tu navegador. Los valores de cabecera que introduces nunca se envían a nuestros servidores: todo el análisis, la evaluación y la generación de recomendaciones ocurren en el lado del cliente con JavaScript puro. La herramienta es 100% gratis, sin registro, sin cuenta y sin límites de uso. Mantenemos una base de datos completa de más de 20 tipos MIME comunes con sus características de riesgo de sniffing, y la herramienta puede analizar cualquier valor de Content-Type, incluidos tipos personalizados o específicos de proveedor.

Preguntas frecuentes

El sniffing de tipo MIME es un comportamiento de los navegadores en el que ignoran la cabecera Content-Type declarada e inspeccionan el contenido real para determinar su tipo. Esto puede permitir que los atacantes sirvan contenido malicioso (como HTML con JavaScript) con una cabecera Content-Type inofensiva, y que el navegador lo ejecute como HTML, lo que da lugar a ataques XSS.

La cabecera de respuesta X-Content-Type-Options con el valor “nosniff” indica al navegador que siga estrictamente la cabecera Content-Type declarada y que no realice sniffing de tipo MIME. Es una de las cabeceras de seguridad más importantes y debería establecerse en todas las respuestas HTTP.

Introduce un valor de cabecera Content-Type y, opcionalmente, un valor de cabecera X-Content-Type-Options. La herramienta analiza el Content-Type, identifica la categoría del tipo MIME, comprueba parámetros como charset y boundary y evalúa la vulnerabilidad al sniffing según el nivel de riesgo del tipo MIME y la presencia de la directiva nosniff, todo procesado localmente en tu navegador.

text/html, text/javascript, application/octet-stream, image/svg+xml y text/xml son los más vulnerables. El contenido HTML puede ejecutarse como páginas web, el JavaScript puede ejecutarse en el contexto del navegador, los archivos SVG pueden contener scripts incrustados y el binario genérico (octet-stream) hace que los navegadores adivinen el tipo a partir de los bytes del contenido.

En Nginx: `add_header X-Content-Type-Options "nosniff" always;`. En Apache: `Header always set X-Content-Type-Options "nosniff"`. La mayoría de los frameworks, como Express con Helmet, Django y Rails, lo incluyen de forma predeterminada.

Sin la cabecera, los navegadores deciden si hacer sniffing según sus propias heurísticas. Con “nosniff”, se indica explícitamente a los navegadores que confíen en la cabecera Content-Type, lo que elimina la ambigüedad y garantiza un comportamiento predecible y seguro.

Sin esta cabecera, si un atacante sube un archivo llamado “image.png” que contiene HTML con JavaScript y tu servidor lo sirve con Content-Type: image/png, un navegador podría representarlo como HTML y ejecutar el script, lo que daría lugar a una vulnerabilidad XSS.

¡Sí! 100% gratis, sin registro, sin cuenta y sin límites de uso. Todo el análisis ocurre localmente en tu navegador: los valores de tus cabeceras nunca se envían a ningún servidor.