特点: 此时'nginx'不返回'Content-Type'响应头,完全由'浏览器'自行判断

浏览器默认行为

1) 互联网上的资源有'各种类型',通常浏览器会根据'响应头的Content-Type字段'来'分辨'它们的类型
2) 例如:"text/html"代表html文档、"image/png"是PNG图片、"text/css"是CSS样式文档
3) 然而'有些资源的Content-Type'是'错的'或者'未定义[最常见]'
ps:这时某些浏览器会'启用MIME-sniffing'来'猜测'该资源类型,'解析'内容并'执行' --> "默认"
  1、给一个html文件指定Content-Type为"text/plain",在IE8中会被当做html来解析
  2、利用浏览器的这个特性,攻击者甚至可以让'原本应该解析为图片'的请求被解析为'js'
遗留: X-Content-Type-Options: nosniff  --> "禁用浏览器的类型猜测行为"
+++++++++++++++++++  "案例讲解"  +++++++++++++++++++
# 1) 取消nginx'默认'的 mime.types配置
types        { } 
# 2) 指定css文件返回指定content-type      
default_type text/html;  

问题引入

1、资源'展示'
2、这里'简化'nginx.conf配置,只做了'核心'说明
3、测试'现象'
现象: url请求'.css和.js 静态文件',nginx 返回的Content-Type是'text/html'
chrome '报错':
  1、Refused to execute script from 'xxx.js' 
  2、because its MIME type ('text/html') is not executable,
  3、and strict MIME type checking is enabled
强调:作为'运维人员',尽可能的'保留'和'还原'案发的'事故'现场
疑惑:为什么没有根据'mine.type'返回正确的'Content-Type'?

现象及其相似

index.html 'meta text/html' 中通过'<script src="js/min.wzj.js">'相对路径'加载'文件
++++++++++ "题外话" ++++++++++
location ~* min.wzj.js$ {
   alias /home/kiosk/WebstormProjects/form/js/min.wzj.js 

location和alias的搭配问题 

1、原因:是不是'原来'是好的,然后加了'安全加固'造成的
 add_header X-Content-Type-Options: nosniff
2、观察: 是'nginx返回静态资源'还是后端'返回'的
  通过'$upstream_addr'或'sent_http_content_type'判断
  备注:对比'$upstream_http_content_type'和'sent_http_content_type' -->"加工处理"
  补充: 定义一个'独一无二的响应头[加always]'放到对应的location中,看'到底生效了没'?
  附加: 在client看'异常url'的响应体,也'可以'辅助理解
  1、如果是'后端返回错误的Content-Type',nginx如何能拦截?  --> 'proxy_hide_header'
  2、如果是'nginx自身返回错误的Content-Type',如何排查呢?
  3、​诡异: nginx把'图片'识别为'text/html',加了add_header都'不管用'
4、遗留: nginx是根据'$request_uri'还是'$uri' 是查找'静态'资源?

相关配置说明

遗留:add_header '显示添加'会不会'影响'default_type?
​思考:如果Content-Type'请求头'只有有限的几个,与响应头(Content-Type)'协商不一致'呢?
探究:原来虽然配置了安全头,但是'add_header'作用域覆盖了,导致'没有生效'

④  参考链接

css 的content-type为"text/html" 不是 "text/css" html兼容性

解决css文件返回格式Content-TYpe为text/html问题

php-fpm处为通配符"/",使得所有请求均会被php-fpm处理,导致css文件的响应头出错

浏览器strict MIME type checking问题处理

为 CSS 设置正确的 Content-Type

Java Web 发送请求 CSS文件 和 JS文件引用失败

中间件为IIS,网站根目录下找到“web.cofig”文件,没有则新建该文件。复制以下代码,粘贴到web.cofig文件中(新建全部复制,已有复制system.webserver) <?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <httpProtoc... X-Content-Type-Options HTTP 消息相当于一个提示标志,被服务器用来提示客户端一定要遵循在 Content-Type 首部中对 MIME 类型 的设定,而不能对其进行修改。https://stackoverflow.com/questions/21322295/how-can-i-add-x-content-type-options-nosniff-to-all-the-response-headers-from找到配置文件。apache的解决办法。 接着,我们检查了响应中是否包含了'x-content-type-options'字段,如果不存在,就手动设置该字段的值为'nosniff',以确保浏览器对响应内容的解析不会发生意外的变化。最后,我们使用`assert`语句来验证'x-content-type-options'字段的值是否已经正确地设置为'nosniff'。通过以上的步骤,我们可以在使用requests库的2.20.0版本时,有效地解决缺失'x-content-type-options'部字段的问题,从而提高了请求的安全性和可靠性。 接上篇,nginx配置系列 HTTPS现在已经很流行,特别是AppStore上线的应用要求使用HTTPS进行通信,出于安全考虑也应该使用HTTPS,HTTPS配置需要准备证书文件,现在也有很多免费证书可以申请,比如阿里云 证书相关有两个文件,一个key文件server.key,一个证书文件server.crt(证书文件的格式有很多(pem,p12,crt等)一般使用pem或crt,nginx都... X-Content-Type-Options 是一种 HTTP 响应,用于控制浏览器是否应该尝试 MIME 类型嗅探。如果启用了 X-Content-Type-Options,浏览器将遵循服务器提供的 MIME 类型,用于防止浏览器执行 MIME 类型错误的响应体(response body)。 简单理解为:通过设置"X-Content-Type-Options: nosniff"响应,对script和styleSheet在执行是通过MIME 类型来过滤掉不安全的文件 服务器发送含有"X-Content-Type-Options: n... server{ add_header X-Frame-Options SAMEORIGIN; add_header X-XSS-Protection '1;mode=block'; add_header X-Content-Type-Options nosniff; X-Frame-Options: 有些资源的Content-Type是 攻击者利用透明的、不可见的iframe,覆盖在一个网页上,此时用户在不知情的情况下点击了这个透明的iframe页面。X-Content-Type-Options 响应相当于一个提示标志,被服务器用来提示客户端一定要遵循在 Content-Type 首部中对 MIME 类型 的设定,而不能对其进行修改,这就禁用了客户端的 MIME 类型嗅探行为。web浏览器在响应中缺少 X-Download-Options,这将导致浏览器提供的安全特性失效,更容易遭受 Web 前端黑客攻击的影响。 文章目录一 反向代理二 负载均衡其他配置信息proxy_next_upstreamproxy_connect_timeoutproxy_send_timeoutproxy_read_timeoutproxy_upstream_fail_timeout Nginx动静分离什么是动静分离静态资源的类型动静分离的好处缓存Nginx缓存配置压缩配置信息四 防盗链防盗链配置五 跨域访问 一 反向代理 nginx反向代理的指令不需要新增额外的模块,默认自带proxy_pass指令,只需要修改配置文件就可以实现反向代理 如果需要找的漏扫问题,可以在评论区发言,我看到就会回复。 检测到目标X-Content-Type-Options响应缺失 add_header 'Referrer-Policy' 'origin'; 检测到错误页面web应用服务器版本信息泄露 修改404页面及500页面,不要出现apache、nginx等字样 检测到目标Referrer-Policy响应缺失 add_header 'Referrer-Policy' 'origin'; 检测到目标X-XSS-Protection响应缺失 大聪明开发的应用系统已经上线年了,然而就在昨天依然被扫描出了一个漏洞 —— 远程 Web 系统应用程序不采取措施来减轻一类 Web 应用程序漏洞,说白了就是远程网络应用程序不设置 X-Content-Type 响应。刚看到扫描报告的时候还真有点麻爪,不知道如何下手,最后经过一番努力还是成功的修复了这个漏洞,那么借此机会,大聪明就和大家分享一下如何修复此类漏洞。