MIME-сниффинг
Что такое MIME-сниффинг?
MIME-сниффингПоведение браузера, угадывающее тип содержимого ответа по байтам; может быть использовано для исполнения загруженных файлов как скриптов.
MIME-сниффинг — устаревшая возможность браузеров: они анализируют первые байты ответа и переопределяют объявленный сервером Content-Type, чтобы «удобнее» отрисовать ресурс. Это эксплуатируется, когда приложение отдаёт пользовательские файлы с неверным типом: файл с HTML или JavaScript может быть распознан как text/html и выполнен в источнике жертвы, что приводит к stored XSS. Стандартная мера — заголовок X-Content-Type-Options: nosniff, заставляющий браузер соблюдать заявленный тип. Совместите его со строгими Content-Type, CSP и отдельным источником для пользовательского контента.
● Примеры
- 01
X-Content-Type-Options: nosniff
- 02
Загрузка аватара возвращает image/png, но файл содержит HTML; без nosniff браузер выполняет его как страницу.
● Частые вопросы
Что такое MIME-сниффинг?
Поведение браузера, угадывающее тип содержимого ответа по байтам; может быть использовано для исполнения загруженных файлов как скриптов. Относится к категории Безопасность приложений в кибербезопасности.
Что означает MIME-сниффинг?
Поведение браузера, угадывающее тип содержимого ответа по байтам; может быть использовано для исполнения загруженных файлов как скриптов.
Как защититься от MIME-сниффинг?
Защита от MIME-сниффинг обычно сочетает технические меры и операционные практики, как описано в определении выше.