HTTP X-Content-Type-Options 缺失


前言

持续更新:整理下渗透测试工作中发现过的漏洞(包含漏洞描述、漏洞等级、漏洞验证、修复建议),这里不深究漏洞产生的各种后利用或者绕过方式,漏洞验证过程不局限于文章中的方法,能够证明漏洞存在即可。

0x01 漏洞描述

- HTTP X-Content-Type-Options 缺失 -

Web 服务器对于 HTTP 请求的响应头缺少 X-Content-Type-Options,这意味着此网站更易遭受跨站脚本攻击(XSS)。X-Content-Type-Options 响应头相当于一个提示标志,被服务器用来提示客户端一定要遵循在 Content-Type 首部中对 MIME 类型 的设定,而不能对其进行修改,这就禁用了客户端的 MIME 类型嗅探行为。浏览器通常会根据响应头 Content-Type 字段来分辨资源类型,有些资源的 Content-Type 是错的或者未定义,这时浏览器会启用 MIME-sniffing 来猜测该资源的类型并解析执行内容。利用这个特性,攻击者可以让原本应该解析为图片的请求被解析为 JavaScript 代码。

X-Content-Type-Options 可选配置的值如下:

X-Content-Type-Options: nosniff

nosniff 只应用于以下两种情况的请求将被阻止:

  • 请求类型是 style 但是 MIME 类型不是 text/css。
  • 请求类型是 script 但是 MIME 类型不是 JavaScript MIME 类型。

0x02 漏洞等级

威胁级别 高危 中危 低危

0x03 漏洞验证

可使用验证工具列举如下:

检测目标网站 HTTP 响应头 X-Content-Type-Options 缺失。

0x04 漏洞修复

  1. 修改网站配置文件,推荐在所有传出请求上发送值为 nosniff 的 X-Content-Type-Options 响应头。
  2. X-Content-Type-Options 配置详解:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/X-Content-Type-Options

文章作者: LuckySec
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 LuckySec !
评论
 上一篇
HTTP Strict-Transport-Security 缺失 HTTP Strict-Transport-Security 缺失
Web 服务器对于 HTTP 请求的响应头缺少 Strict-Transport-Security,这意味着此网站更易遭受跨站脚本攻击(XSS)。Strict-Transport-Security 响应头相当于一个提示标志,被服务器用来提示客户端一定要遵循在 Content-Type 首部中对 MIME 类型 的设定,而不能对其进行修改,这就禁用了客户端的 MIME 类型嗅探行为。浏览器通常会根据响应头 Content-Type 字段来分辨资源类型,有些资源的 Content-Type 是错的或者未定义,这时浏览器会启用 MIME-sniffing 来猜测该资源的类型并解析执行内容。利用这个特性,攻击者可以让原本应该解析为图片的请求被解析为 JavaScript 代码。
2022-11-25
下一篇 
HTTP X-XSS-Protection 缺失 HTTP X-XSS-Protection 缺失
Web 服务器对于 HTTP 请求的响应头缺少 X-XSS-Protection,这意味着此网站更易遭受跨站脚本攻击(XSS)。X-XSS-Protection 响应头是 Internet Explorer、Chrome 和 Safari 的一个特性,当检测到跨站脚本攻击(XSS)时,浏览器将停止加载页面。
2022-11-23
  目录