web漏洞与修复

一、web漏洞

检测到目标X-Content-Type-Options响应头缺失

详细描述X-Content-Type-Options HTTP 消息头相当于一个提示标志,被服务器用来提示客户端一定要遵循在 Content-Type 首部中对 MIME 类型 的设定,而不能对其进行修改。这就禁用了客户端的 MIME 类型嗅探行为,换句话说,也就是意味着网站管理员确定自己的设置没有问题。 X-Content-Type-Options响应头的缺失使得目标URL更易遭受跨站脚本攻击。
解决办法将您的服务器配置为在所有传出请求上发送值为“nosniff”的“X-Content-Type-Options”头。对于 Apache,请参阅: http://httpd.apache.org/docs/2.2/mod/mod_headers.html 对于 IIS,请参阅: https://technet.microsoft.com/pl-pl/library/cc753133%28v=ws.10%29.aspx 对于 nginx,请参阅: http://nginx.org/en/docs/http/ngx_http_headers_module.html

检测到目标X-XSS-Protection响应头缺失

详细描述HTTP X-XSS-Protection 响应头是 Internet Explorer,Chrome 和 Safari 的一个特性,当检测到跨站脚本攻击 (XSS)时,浏览器将停止加载页面。 X-XSS-Protection响应头的缺失使得目标URL更易遭受跨站脚本攻击。
解决办法将您的服务器配置为在所有传出请求上发送值为“1”(例如已启用)的“X-XSS-Protection”头。对于 Apache,请参阅: http://httpd.apache.org/docs/2.2/mod/mod_headers.html 对于 IIS,请参阅: https://technet.microsoft.com/pl-pl/library/cc753133%28v=ws.10%29.aspx 对于 nginx,请参阅: http://nginx.org/en/docs/http/ngx_http_headers_module.html

检测到目标Content-Security-Policy响应头缺失

详细描述HTTP 响应头Content-Security-Policy允许站点管理者控制用户代理能够为指定的页面加载哪些资源。除了少数例外情况,设置的政策主要涉及指定服务器的源和脚本结束点。 Content-Security-Policy响应头的缺失使得目标URL更易遭受跨站脚本攻击。
解决办法将您的服务器配置为发送“Content-Security-Policy”头。对于 Apache,请参阅: http://httpd.apache.org/docs/2.2/mod/mod_headers.html 对于 IIS,请参阅: https://technet.microsoft.com/pl-pl/library/cc753133%28v=ws.10%29.aspx 对于 nginx,请参阅: http://nginx.org/en/docs/http/ngx_http_headers_module.html

检测到目标Strict-Transport-Security响应头缺失

详细描述Web 服务器对于 HTTP 请求的响应头中缺少 Strict-Transport-Security,这将导致浏览器提供的安全特性失效。 当 Web 服务器的 HTTP 头中包含 Strict-Transport-Security 头时,浏览器将持续使用 HTTPS 来访问 Web 站点,可以用来对抗协议降级攻击和 Cookie 劫持攻击。 其可选的值有: max-age=SECONDS,表示本次命令在未来的生效时间 includeSubDomains,可以用来指定是否对子域名生效 漏洞危害: Web 服务器对于 HTTP 请求的响应头中缺少 Strict-Transport-Security,这将导致浏览器提供的安全特性失效,更容易遭受 Web 前端黑客攻击的影响。
解决办法1)修改服务端程序,给 HTTP 响应头加上 Strict-Transport-Security 如果是 java 服务端,可以使用如下方式添加 HTTP 响应头 response.setHeader("Strict-Transport-Security", "value") 如果是 php 服务端,可以使用如下方式添加 HTTP 响应头 header("Strict-Transport-Security: value") 如果是 asp 服务端,可以使用如下方式添加 HTTP 响应头 Response.AddHeader "Strict-Transport-Security", "value" 如果是 python django 服务端,可以使用如下方式添加 HTTP 响应头 response = HttpResponse() response["Strict-Transport-Security"] = "value" 如果是 python flask 服务端,可以使用如下方式添加 HTTP 响应头 response = make_response() response.headers["Strict-Transport-Security"] = "value"; 2)修改负载均衡或反向代理服务器,给 HTTP 响应头加上 Strict-Transport-Security 如果使用 Nginx、Tengine、Openresty 等作为代理服务器,在配置文件中写入如下内容即可添加 HTTP 响应头: add_header Strict-Transport-Security value; 如果使用 Apache 作为代理服务器,在配置文件中写入如下内容即可添加 HTTP 响应头: Header add Strict-Transport-Security "value"。

检测到目标Referrer-Policy响应头缺失

详细描述Web 服务器对于 HTTP 请求的响应头中缺少 Referrer-Policy,这将导致浏览器提供的安全特性失效。 当用户在浏览器上点击一个链接时,会产生一个 HTTP 请求,用于获取新的页面内容,而在该请求的报头中,会包含一个 Referrer,用以指定该请求是从哪个页面跳转页来的,常被用于分析用户来源等信息。但是也成为了一个不安全的因素,所以就有了 Referrer-Policy,用于过滤 Referrer 报头内容,其可选的项有: no-referrer no-referrer-when-downgrade origin origin-when-cross-origin same-origin strict-origin strict-origin-when-cross-origin unsafe-url 漏洞危害: Web 服务器对于 HTTP 请求的响应头中缺少 Referrer-Policy,这将导致浏览器提供的安全特性失效,更容易遭受 Web 前端黑客攻击的影响。
解决办法1)修改服务端程序,给 HTTP 响应头加上 Referrer-Policy 如果是 java 服务端,可以使用如下方式添加 HTTP 响应头 response.setHeader("Referrer-Policy", "value") 如果是 php 服务端,可以使用如下方式添加 HTTP 响应头 header("Referrer-Policy: value") 如果是 asp 服务端,可以使用如下方式添加 HTTP 响应头 Response.AddHeader "Referrer-Policy", "value" 如果是 python django 服务端,可以使用如下方式添加 HTTP 响应头 response = HttpResponse() response["Referrer-Policy"] = "value" 如果是 python flask 服务端,可以使用如下方式添加 HTTP 响应头 response = make_response() response.headers["Referrer-Policy"] = "value"; 2)修改负载均衡或反向代理服务器,给 HTTP 响应头加上 Referrer-Policy 如果使用 Nginx、Tengine、Openresty 等作为代理服务器,在配置文件中写入如下内容即可添加 HTTP 响应头: add_header Referrer-Policy value; 如果使用 Apache 作为代理服务器,在配置文件中写入如下内容即可添加 HTTP 响应头: Header add Referrer-Policy "value"。


检测到目标X-Permitted-Cross-Domain-Policies响应头缺失

详细描述Web 服务器对于 HTTP 请求的响应头中缺少 X-Permitted-Cross-Domain-Policies,这将导致浏览器提供的安全特性失效。 当一些在线的 Web Flash 需要加载其他域的内容时,很多 Web 会通过设置一个 crossdomain.xml 文件的方式来控制其跨域方式。很有可能有些开发者并没有修改 crossdomain.xml 文件的权限,但是又有和跨域的 Flash 共享数据的需求,这时候可以通过设置 X-Permitted-Cross-Domain-Policies 头的方式来替代 crossdomain.xml 文件,其可选的值有: none master-only by-content-type by-ftp-filename all 漏洞危害: Web 服务器对于 HTTP 请求的响应头中缺少 X-Permitted-Cross-Domain-Policies,这将导致浏览器提供的安全特性失效,更容易遭受 Web 前端黑客攻击的影响。
解决办法1)修改服务端程序,给 HTTP 响应头加上 X-Permitted-Cross-Domain-Policies 如果是 java 服务端,可以使用如下方式添加 HTTP 响应头 response.setHeader("X-Permitted-Cross-Domain-Policies", "value") 如果是 php 服务端,可以使用如下方式添加 HTTP 响应头 header("X-Permitted-Cross-Domain-Policies: value") 如果是 asp 服务端,可以使用如下方式添加 HTTP 响应头 Response.AddHeader "X-Permitted-Cross-Domain-Policies", "value" 如果是 python django 服务端,可以使用如下方式添加 HTTP 响应头 response = HttpResponse() response["X-Permitted-Cross-Domain-Policies"] = "value" 如果是 python flask 服务端,可以使用如下方式添加 HTTP 响应头 response = make_response() response.headers["X-Permitted-Cross-Domain-Policies"] = "value"; 2)修改负载均衡或反向代理服务器,给 HTTP 响应头加上 X-Permitted-Cross-Domain-Policies 如果使用 Nginx、Tengine、Openresty 等作为代理服务器,在配置文件中写入如下内容即可添加 HTTP 响应头: add_header X-Permitted-Cross-Domain-Policies value; 如果使用 Apache 作为代理服务器,在配置文件中写入如下内容即可添加 HTTP 响应头: Header add X-Permitted-Cross-Domain-Policies "value"。

检测到目标X-Download-Options响应头缺失

详细描述Web 服务器对于 HTTP 请求的响应头中缺少 X-Download-Options,这将导致浏览器提供的安全特性失效。 漏洞危害: Web 服务器对于 HTTP 请求的响应头中缺少 X-Download-Options,这将导致浏览器提供的安全特性失效,更容易遭受 Web 前端黑客攻击的影响。
解决办法1)修改服务端程序,给 HTTP 响应头加上 X-Download-Options 如果是 java 服务端,可以使用如下方式添加 HTTP 响应头 response.setHeader("X-Download-Options", "value") 如果是 php 服务端,可以使用如下方式添加 HTTP 响应头 header("X-Download-Options: value") 如果是 asp 服务端,可以使用如下方式添加 HTTP 响应头 Response.AddHeader "X-Download-Options", "value" 如果是 python django 服务端,可以使用如下方式添加 HTTP 响应头 response = HttpResponse() response["X-Download-Options"] = "value" 如果是 python flask 服务端,可以使用如下方式添加 HTTP 响应头 response = make_response() response.headers["X-Download-Options"] = "value"; 2)修改负载均衡或反向代理服务器,给 HTTP 响应头加上 X-Download-Options 如果使用 Nginx、Tengine、Openresty 等作为代理服务器,在配置文件中写入如下内容即可添加 HTTP 响应头: add_header X-Download-Options value; 如果使用 Apache 作为代理服务器,在配置文件中写入如下内容即可添加 HTTP 响应头: Header add X-Download-Options "value"。

检测到目标网站存在无效链接

详细描述无效链接是指存在于页面中,但其指向的资源已经不存在。 本漏洞属于Web应用安全常见漏洞。
解决办法将无效链接从页面中删除。

点击劫持:X-Frame-Options未配置

详细描述点击劫持(ClickJacking)是一种视觉上的欺骗手段。攻击者使用一个透明的、不可见的iframe,覆盖在一个网页上,然后诱使用户在该网页上进行操作,此时用户将在不知情的情况下点击透明的iframe页面。通过调整iframe页面的位置,可以诱使用户恰好点击在iframe页面的一些功能性按钮上。 HTTP 响应头信息中的X-Frame-Options,可以指示浏览器是否应该加载一个 iframe 中的页面。如果服务器响应头信息中没有X-Frame-Options,则该网站存在ClickJacking攻击风险。网站可以通过设置 X-Frame-Options 阻止站点内的页面被其他页面嵌入从而防止点击劫持。
解决办法修改web服务器配置,添加X-Frame-Options响应头。赋值有如下三种: 1、DENY:不能被嵌入到任何iframe或者frame中。 2、SAMEORIGIN:页面只能被本站页面嵌入到iframe或者frame中。 3、ALLOW-FROM uri:只能被嵌入到指定域名的框架中。 例如: apache可配置http.conf如下: <IfModule headers_module> Header always append X-Frame-Options "DENY" </IfModule> IIS可配置相关网站的Web.config如下: <system.webServer> ... <httpProtocol> <customHeaders> <add name="X-Frame-Options" value="deny" /> </customHeaders> </httpProtocol> ... </system.webServer>

 

二、修复方式

可以在nginx http块中配置

   # 相关安全漏洞响应头
   # 检测到目标 X-Content-Type-Options响应头缺失 这个暂时不开启,不然部分banner无法使用
   add_header X-Content-Type-Options nosniff;
   # 检测到目标 X-XSS-Protection响应头缺失
   add_header X-XSS-Protection "1; mode=block";
   # 检测到目标 Content-Security-Policy响应头缺失
   add_header Content-Security-Policy "default-src 'self' http: https://* data: blob: 'unsafe-eval' 'unsafe-inline';child-src 'none' " always;
   # 检测到目标 Referrer-Policy响应头缺失
   add_header Referrer-Policy "no-referrer-when-downgrade" always;
   # 检测到目标 X-Permitted-Cross-Domain-Policies响应头缺失
   add_header X-Permitted-Cross-Domain-Policies none;
   # 检测到目标 X-Download-Options响应头缺失
   add_header X-Download-Options noopen;
   # 检测到目标 Strict-Transport-Security响应头缺失
   add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";

   # 相关安全漏洞响应头# 检测到目标 X-Content-Type-Options响应头缺失 这个暂时不开启,不然部分banner无法使用add_header X-Content-Type-Options nosniff;# 检测到目标 X-XSS-Protection响应头缺失add_header X-XSS-Protection "1; mode=block";# 检测到目标 Content-Security-Policy响应头缺失add_header Content-Security-Policy "default-src 'self' http: https://* data: blob: 'unsafe-eval' 'unsafe-inline';child-src 'none' " always;# 检测到目标 Referrer-Policy响应头缺失add_header Referrer-Policy "no-referrer-when-downgrade" always;# 检测到目标 X-Permitted-Cross-Domain-Policies响应头缺失add_header X-Permitted-Cross-Domain-Policies none;# 检测到目标 X-Download-Options响应头缺失add_header X-Download-Options noopen;# 检测到目标 Strict-Transport-Security响应头缺失add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";

完整http块

#http块
http {fastcgi_connect_timeout 300;fastcgi_send_timeout 300;fastcgi_read_timeout 300;fastcgi_buffer_size 256k;fastcgi_buffers 2 256k;fastcgi_busy_buffers_size 256k;fastcgi_temp_file_write_size 256k;ssl_protocols      TLSv1 TLSv1.1  TLSv1.2 TLSv1.3;# 相关安全漏洞响应头# 检测到目标 X-Content-Type-Options响应头缺失 这个暂时不开启,不然部分banner无法使用add_header X-Content-Type-Options nosniff;# 检测到目标 X-XSS-Protection响应头缺失add_header X-XSS-Protection "1; mode=block";# 检测到目标 Content-Security-Policy响应头缺失add_header Content-Security-Policy "default-src 'self' http: https://* data: blob: 'unsafe-eval' 'unsafe-inline';child-src 'none' " always;# 检测到目标 Referrer-Policy响应头缺失add_header Referrer-Policy "no-referrer-when-downgrade" always;# 检测到目标 X-Permitted-Cross-Domain-Policies响应头缺失add_header X-Permitted-Cross-Domain-Policies none;# 检测到目标 X-Download-Options响应头缺失add_header X-Download-Options noopen;# 检测到目标 Strict-Transport-Security响应头缺失add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";#隐藏nginx版本信息server_tokens off;#文件扩展名与文件类型映射表include       /etc/nginx/mime.types;#默认文件类型,默认为text/plaindefault_type  application/octet-stream;#日志格式log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';access_log  /var/log/nginx/access.log  main if=$ignore_ua;sendfile        on;#tcp_nopush     on;#连接超时时间,默认为75s,可以在http,server,location块。keepalive_timeout  300;#gzip  on;client_max_body_size 1024m;#包含的自定义配置文件块include /etc/nginx/conf.d/*.conf;#是否传递4xx和5xx错误信息到客户端,或者允许nginx使用error_page处理错误信息。fastcgi_intercept_errors on;#Disable logging for ELB healthcheck. It creates lots of noise on logging platform##关闭健康检测日志的输出map $http_user_agent $ignore_ua {default                 1;"clb-healthcheck"       0;}}

三、验证

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/585869.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python合并多个PDF,成为1个PDF

这里我们使用PyPDF2 库进行操作 合并的步骤如下&#xff1a; 创建PdfMerger使用append()添加多个pdf文件最后write()出即可 示例程序 将多个pdf_data/目录下的pdf文件合并成1个pdf文件的程序如下&#xff1a; from PyPDF2 import PdfMergerfile_merger PdfMerger() # 创…

面试题:从 MySQL 读取 100w 数据进行处理,应该怎么做?

文章目录 背景常规查询流式查询MyBatis 流式查询接口为什么要用流式查询&#xff1f; 游标查询OptionsResultType注意&#xff1a;原因&#xff1a; 非流式查询和流式查询区别&#xff1a; 背景 大数据量操作的场景大致如下&#xff1a; 数据迁移数据导出批量处理数据 在实际…

跨境电商:让中国制造走向世界

跨境电商的崛起 跨境电商是指不同国家和地区之间的商业交易&#xff0c;通过互联网和物流等方式完成。随着全球化和互联网的普及&#xff0c;跨境电商迅速崛起&#xff0c;成为全球贸易的重要组成部分。中国作为全球最大的制造业国家&#xff0c;拥有着丰富的商品资源和供应链…

链表总结(2)

theme: fancy 又是链表专题啦&#xff0c;老样子&#xff0c;标题就是leetcode链接&#xff0c;在这里只放我的代码答案和注释 141环形链表 public class Solution {public boolean hasCycle(ListNode head) {if(head null || head.next null) return false;if(head.nex…

详解FreeRTOS:FreeRTOSConfig.h系统配置文件(拓展篇—1)

目录 1、“INCLUDE_”宏 2、“config”宏 实际使用FreeRTOS的时候,时常需要根据自己需求来配置 FreeRTOS,不同架构的MCU,配置也不同。 FreeRTOS的系统配置文件为FreeRTOSConfig.h,在配置文件中可以完成FreeRTOS的裁剪和配置,这是非常重要的一个文件,本篇博文就来讲解这…

鸿蒙HarmonyOS-带笔锋手写板(三)

笔者用ArkTS 写了一个简单的带笔锋的手写板应用&#xff0c;并且可以将手写内容保存为图片。 一、效果图 手写效果如下&#xff08;在鸿蒙手机模拟器上运行&#xff0c;手写时反应可能会有点慢&#xff09; 二、实现方法 参考文章&#xff1a; 支持笔锋效果的手写签字控件_a…

【PHP】二维数组转一维数组

在 PHP 中&#xff0c;如果你想将一个二维数组转换为一维数组&#xff0c;你可以使用几种不同的方法。以下是一些常见的方法&#xff1a; 1.使用 array_column() 函数 $data [[id > 1, ci > A],[id > 2, ci > B],[id > 3, ci > C],[id > 4, ci > D],…

Shell脚本-bin/bash: 解释器错误: 没有那个文件或目录-完整路径执行-“/”引发的脑裂

引起该不适的一种可能以及解决方案&#xff0c;网上较多&#xff0c;比如&#xff1a; 但按以上方式操作&#xff0c;并经过查看&#xff0c;发现仍然未能解决问题。 因为两种方式执行&#xff0c;有一种能成功&#xff0c;有一种不能&#xff0c;刚开始未怀疑是文件问题&…

LeetCode75| 二叉搜索树

目录 700 二叉搜索树中的搜索 迭代 递归 450 删除二叉搜索树中的节点 700 二叉搜索树中的搜索 注意二叉搜索树的性质即可 迭代 class Solution { public:TreeNode* searchBST(TreeNode* root, int val) {while(root ! NULL){if(root->val < val)root root->r…

hive高级查询(2)

-- 分组查询 SELECT sex,SUM(mark) sum_mark FROM score GROUP BY sex HAVING sum_mark > 555; SELECT sex,sum_mark FROM( SELECT sex,SUM(mark) sum_mark FROM score GROUP BY sex ) t WHERE sum_mark > 555; SELECT AVG(gid),SUM(gid)/COUNT(gid) FROM …

宠物救助上门喂养系统宠物领养宠物寄养寻宠小程序宠物社区系统宠物托运宠物殡葬源码

后端php 前端uniapp mysql数据库 主要功能介绍&#xff1a; 1.根据当前位置 支持多城市切换 2.支持首页公告实时显示 3.支持 宠物救助&#xff0c;上门喂养&#xff0c;宠物领养&#xff0c;宠物寄养&#xff0c;寻宠&#xff0c;宠物社区&#xff0c;宠物托运&#xff…

【node-express】在commonjs的项目中使用esm和ts开发的sdk

在commonjs的项目中使用esm和ts开发的sdk 效果实现步骤 效果 在一些demo中, 大部分代码是commonjs规范开发的&#xff0c;但是要用到的sdk是ts开发的并且仅支持esm&#xff0c; 又不想配置很复杂的工程项目&#xff0c;可以这么做。如果你有更好的建议&#xff0c;希望能得到你…

学习笔记13——Spring整合Mybatis、junit、AOP、事务

学习笔记系列开头惯例发布一些寻亲消息 链接&#xff1a;https://baobeihuijia.com/bbhj/ Mybatis - Spring&#xff08;使用第三方包new一个对象bean&#xff09; 原始的Mybatis与数据库交互【通过sqlmapconfig来配置和连接】 初始化SqlSessionFactory获得连接获取数据层接口…

SQLServer性能分析--执行计划、耗时SQL排查和死锁处理

目录 1 常用系统存储过程2 查看执行计划3 查看磁盘使用率&#xff08;STATISTICS IO&#xff09;4 查询时间耗时较长的语句5 死锁处理参考资料 1 常用系统存储过程 1.1 查询表结构 EXEC sp_columns your_table, column_name table_column1.2 查询表索引 EXEC sp_helpindex …

FairyGUI-Cocos Creator官方Demo源码解读

博主在学习Cocos Creator的时候&#xff0c;发现了一款免费的UI编辑器FairyGUI。这款编辑器的能力十分强大&#xff0c;但是网上的学习资源比较少&#xff0c;坑比较多&#xff0c;主要学习方式就是阅读官方文档和练习官方Demo。这里博主进行官方Demo的解读。 从gitee上克隆项目…

超实用!CSDN个人数据Chrome插件开发

插件简介 相信写过博客的都知道&#xff0c;每天会经常打开自己的主页无数次&#xff0c;尤其是写了一篇新文章&#xff0c;就为了看文章浏览量增长了多少&#xff0c;文章获得了多少个赞&#xff0c;有多少人评论&#xff08;谁不想自己写的文章成为爆款呢&#xff5e;&#…

ubuntu装机记录

1.配网 文件地址&#xff1a; greeW19a406  ⚙ /etc/netplan  pwd  ✔  8  15:40:50 /etc/netplangreeW19a406  ⚙ /etc/netplan  #文件内容&#xff0c;注意缩进与网关可能报错需要添加初始化命令 # Let NetworkManager manage all…

PaddleOCR离线环境搭建

步骤&#xff1a; 1.安装python 2.在同配置下互联网环境的机器A上运行起来&#xff0c;参考如下 https://qushen.blog.csdn.net/article/details/135306757 3.机器A导出对应的依赖和模型 4.离线机器B导入对应的的依赖和模型 所以重点的第三步和第四步 导出依赖&#xff1…

基于Java学生成绩管理系统设计与实现(源码+部署文档+报告)

博主介绍&#xff1a; ✌至今服务客户已经1000、专注于Java技术领域、项目定制、技术答疑、开发工具、毕业项目实战 ✌ &#x1f345; 文末获取源码联系 &#x1f345; &#x1f447;&#x1f3fb; 精彩专栏 推荐订阅 &#x1f447;&#x1f3fb; 不然下次找不到 Java项目精品实…

【JavaEE进阶】 初识Spring Web MVC

文章目录 &#x1f334;什么是Spring Web MVC&#xff1f;&#x1f6a9;什么是Servlet呢? &#x1f38b;MVC 定义&#x1f6a9;再理解Spring MVC &#x1f340;如何学习Spring MVC呢&#xff1f;⭕总结 &#x1f334;什么是Spring Web MVC&#xff1f; Spring Web MVC 是基于…