首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >什么是"X-Content-Type-Options=nosniff"?

什么是"X-Content-Type-Options=nosniff"?
EN

Stack Overflow用户
提问于 2013-08-20 22:27:49
回答 8查看 426.9K关注 0票数 339

我正在用OWASP ZAP在我的本地主机上做一些渗透测试,它一直报告这条消息:

反MIME嗅探头X-Content-Type-Options未设置为'nosniff‘

此检查特定于Internet Explorer 8和Google Chrome。如果Content-Type标头未知,请确保每个页面都设置了Content-Type标头和X-CONTENT-TYPE-OPTIONS

我不知道这是什么意思,我在网上也找不到任何东西。我尝试添加以下内容:

代码语言:javascript
复制
<meta content="text/html; charset=UTF-8; X-Content-Type-Options=nosniff" http-equiv="Content-Type" />

但我还是收到了警报。

设置参数的正确方法是什么?

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2013-08-20 22:33:19

它可以防止浏览器进行MIME类型的嗅探。大多数浏览器现在都支持此标头,包括铬/铬、边缘、IE >= 8.0、火狐>= 50和Opera >= 13。请参阅:

https://blogs.msdn.com/b/ie/archive/2008/09/02/ie8-security-part-vi-beta-2-update.aspx?Redirected=true

发送带有值nosniff的新X- content-type -Options响应头将阻止Internet Explorer从声明的content-type中MIME嗅探响应。

编辑:

哦,那是一个HTTP头,而不是一个HTML元标签选项。

另请参阅:http://msdn.microsoft.com/en-us/library/ie/gg622941(v=vs.85).aspx

票数 199
EN

Stack Overflow用户

发布于 2016-05-13 12:43:44

描述

将服务器的X-Content-Type-Options HTTP响应报头设置为nosniff会指示浏览器禁用content or MIME sniffing,该报头用于覆盖响应Content-Type报头,以使用隐式内容类型猜测和处理数据。虽然这在某些情况下很方便,但它也可能导致下面列出的一些攻击。将服务器配置为返回设置为nosniffX-Content-Type-Options HTTP响应标头将指示支持MIME嗅探的浏览器使用服务器提供的Content-Type,而不将内容解释为不同的内容类型。

浏览器支持

Chrome、Firefox和Edge以及其他浏览器都支持X-Content-Type-Options HTTP响应头。Mozilla Developer Network (MDN)浏览器兼容性表中提供了对X-Content-Type-Options的最新浏览器支持:

https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options

遭遇攻击

  1. 允许用户上传恶意代码,然后由浏览器执行,浏览器将使用其他内容类型(例如隐式application/javascript与显式text/plain )解释文件,从而允许通过用户生成的内容网站进行攻击。这可能导致"drive-by download" attack成为网络钓鱼的常见攻击载体。托管用户生成内容的网站应使用此标头来保护其用户。VeraCodeOWASP提到了这一点,它们的内容如下:

这减少了受路过下载攻击的风险,以及为用户上传的内容提供服务的网站,通过巧妙的命名,这些内容可以被MSIE视为可执行或动态的超文本标记语言文件。

也可以通过Content-Type嗅探启用

  1. 。通过热链接到具有资源的网站,以达到一个目的,例如查看,应用程序可以依赖于内容类型的嗅探,并在网站上产生大量流量,用于另一个可能违反其服务条款的目的,例如GitHub显示用于查看但不用于执行的JavaScript代码:

一些讨厌的非人类用户(即计算机)已经开始通过原始视图特性“热链接”资产--使用原始URL作为<script><img>标记的src。问题是,这些不是静态资产。原始文件视图与Rails应用程序中的任何其他视图一样,必须在返回给用户之前进行渲染。这很快就会对性能造成很大的影响。在过去,我们被迫阻止以这种方式提供的流行内容,因为它给我们的服务器带来了过大的压力。

票数 174
EN

Stack Overflow用户

发布于 2015-10-22 03:27:34

代码语言:javascript
复制
# prevent mime based attacks
Header set X-Content-Type-Options "nosniff"

此标头可防止基于"mime“的攻击。此标头可防止Internet Explorer从声明的content-type中MIME嗅探响应,因为标头指示浏览器不要覆盖响应内容类型。使用nosniff选项,如果服务器说内容是text/html,浏览器会将其呈现为text/html。

http://stopmalvertising.com/security/securing-your-website-with-.htaccess/.htaccess-http-headers.html

票数 113
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18337630

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档