前言
持续更新:整理下渗透测试工作中发现过的漏洞(包含漏洞描述、漏洞等级、漏洞验证、修复建议),这里不深究漏洞产生的各种后利用或者绕过方式,漏洞验证过程不局限于文章中的方法,能够证明漏洞存在即可。
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 漏洞验证
可使用验证工具列举如下:
- 在线检测网站:https://securityheaders.com/?q=http://www.luckysec.cn/
- curl 命令工具:curl -I
"http://www.luckysec.cn/"
- 浏览器工具: F12 打开浏览器控制台网络查看网站响应头。
- 网络抓包工具:常用BurpSuite等工具。
检测目标网站 HTTP 响应头 X-Content-Type-Options 缺失。
0x04 漏洞修复
- 修改网站配置文件,推荐在所有传出请求上发送值为
nosniff
的 X-Content-Type-Options 响应头。 - X-Content-Type-Options 配置详解:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/X-Content-Type-Options