【已解决】“X-Content-Type-Options”头缺失或不安全

简介: 【已解决】“X-Content-Type-Options”头缺失或不安全

Appscan是一款安全漏洞扫描软件,由IBM公司研发,后又被卖给了印度公司HCL。

web安全测试中,今天我们说下扫描结果中包含X-Content-Type-Options请求头header的缺失或不安全的时候,我们该如何应对。

风险:可能会收集有关 Web 应用程序的敏感信息,如用户名、密码、机器名和/或敏感文件位置;可能会劝说初级用户提供诸如用户名、密码、信用卡号、社会保险号等敏感信息。

技术原因:未设置此header时,会加载所有script文件,即使它的MIME不是text/javascript等。运行潜在的脚本文件,会存在丢失数据的风险。

简单理解为:通过设置”X-Content-Type-Options: nosniff”响应标头,对 scriptstyleSheet 在执行是通过MIME 类型来过滤掉不安全的文件。

X-Content-Type-Options: nosniff

如果响应中接收到 “nosniff” 指令,则浏览器不会加载“script”文件,除非 MIME 类型匹配以下值之一:

  • “application/ecmascript”
  • “application/javascript”
  • “application/x-javascript”
  • “text/ecmascript”
  • “text/javascript”
  • “text/jscript”
  • “text/x-javascript”
  • “text/vbs”
  • “text/vbscript”

Nginx Web服务器

  • 在服务器块下的nginx.conf中添加以下参数
1.  server {
2.       listen       443;
3.       server_name  ds.v.com;  # 驾驶安全
4. 
5. 
6. location / {
7.           client_body_timeout  7200;
8.           proxy_read_timeout 7200;
9.           proxy_send_timeout 7200;
10.           proxy_pass   http://127.0.0.1:9005/;
11.           proxy_cookie_path / "/; httponly; secure; SameSite=Lax";
12. add_header X-Content-Type-Options nosniff;
13.       }
14. 
15.       ssl_certificate     "/etc/nginx/ssl/ds/ds.v.com.pem";
16.       ssl_certificate_key "/etc/nginx/ssl/ds/ds.v.com.key";
17.       # ssl_protocols      TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
18.       ssl_protocols      TLSv1.3;
19. 
20.       ssl_session_cache shared:SSL:1m;
21.       ssl_session_timeout  10m;
22.       ssl_ciphers HIGH:!aNULL:!MD5;
23.       ssl_prefer_server_ciphers on;
24.     }

保存nginx.conf文件, 然后重新启动Nginx以查看结果。



相关文章
|
Web App开发 安全 前端开发
绿盟WEB服务扫描漏洞处理
文章目录 1、检测到目标X-Content-Type-Options响应头缺失 2、检测到目标X-XSS-Protection响应头缺失 3、检测到目标Content-Security-Policy响应头缺失 4、检测到目标Referrer-Policy响应头缺失 5、检测到目标X-Permitted-Cross-Domain-Policies响应头缺失 6、检测到目标X-Download-Options响应头缺失 7、点击劫持:X-Frame-Options未配置
5225 0
绿盟WEB服务扫描漏洞处理
|
前端开发 Java 编译器
Spring5新宠:PathPattern,AntPathMatcher:那我走?(下)
Spring5新宠:PathPattern,AntPathMatcher:那我走?(下)
Spring5新宠:PathPattern,AntPathMatcher:那我走?(下)
|
6月前
|
前端开发 Java 开发者
MVC 架构模式技术详解与实践
本文档旨在全面解析软件工程中经典且至关重要的 MVC(Model-View-Controller) 架构模式。内容将深入探讨 MVC 的核心思想、三大组件的职责与交互关系、其优势与劣势,并重点分析其在现代 Web 开发中的具体实现,特别是以 Spring MVC 框架为例,详解其请求处理流程、核心组件及基本开发实践。通过本文档,读者将能够深刻理解 MVC 的设计哲学,并掌握基于该模式进行 Web 应用开发的能力。
1334 1
|
监控 Oracle Java
JDK 21中的分代ZGC:一场内存管理的革命
JDK 21引入了分代ZGC,为Java应用程序的内存管理带来了革命性的进步。分代ZGC通过将堆内存划分为年轻代和老年代,采用并发处理和染色指针技术,实现了高吞吐量、低延迟和更好的可扩展性。这一特性显著提升了系统的性能和稳定性。
1392 51
|
Java Maven Spring
SpringBoot配置跨模块扫描问题解决方案
在分布式项目中,使用Maven进行多模块开发时,某些模块(如xxx-common)没有启动类。如何将这些模块中的类注册为Spring管理的Bean对象?本文通过案例分析,介绍了两种解决方案:常规方案是通过`@SpringBootApplication(scanBasePackages)`指定扫描路径;推荐方案是保持各模块包结构一致(如com.xxx),利用SpringBoot默认扫描规则自动识别其他模块中的组件,简化配置。
1849 1
SpringBoot配置跨模块扫描问题解决方案
|
Java 应用服务中间件
SpringBoot获取项目文件的绝对路径和相对路径
SpringBoot获取项目文件的绝对路径和相对路径
922 1
SpringBoot获取项目文件的绝对路径和相对路径
|
JavaScript 关系型数据库 Java
IDEA插件-EasyCode
EasyCode是基于IntelliJ IDEA Ultimate版开发的一个代码生成插件,主要通过自定义模板(基于velocity)来生成各种你想要的代码。通常用于生成Entity、Dao、Service、Controller。如果你动手能力强还可以用于生成HTML、JS、PHP等代码。理论上来说只要是与数据有关的代码都是可以生成的。
1247 0
IDEA插件-EasyCode
|
监控 安全 JavaScript
掌握X-Content-Type-Options头的防护之力
掌握X-Content-Type-Options头的防护之力
1103 0
|
应用服务中间件 API nginx
解决跨域问题 Response to preflight request doesn't pass access control check
解决跨域问题 Response to preflight request doesn't pass access control check
13259 1

热门文章

最新文章