nginx配置错误三例漏洞-

news2024/11/19 5:14:05

 路径:nginx/insecure-configuration

运行成功后,Nginx将会监听8080/8081/8082三个端口,分别对应三种漏洞。

8080:CRLF注入漏洞

8081: 目录穿越漏洞

8082: add_header被覆盖

$uri导致的CRLF注入漏洞

Nginx会将$uri进行解码,导致传入%0d%0a即可引入换行符,造成CRLF注入漏洞。

错误的配置文件示例(原本的目的是为了让http的请求跳转到https上):

下面两种情景十分常见:

1.用户访问http://example.com/aabbcc,自动跳转到https://example.com/aabbcc

将会301跳转到https;随着现在https的普及,很多站点都强制使用https访问,这样的跳转非常常见。

2.用户访问http://example.com/aabbcc,自动跳转到http://www.example.com/aabbcc

该场景主要是为了统一用户访问的域名,更加有益于SEO优化。

在跳转的过程中,我们需要保证用户访问的页面不变,所以需要从Nginx获取用户请求的文件路径。查看Nginx文档,可以发现有三个表示uri的变量:

  1. $uri

  2. $document_uri

  3. $request_uri

解释一下,1和2表示的是解码以后的请求路径,不带参数;3表示的是完整的URI(没有解码)。那么,如果运维配置了下列的代码:

location / {
    return 302 https://$host$uri;
}

因为$uri是解码以后的请求路径,所以可能就会包含换行符,也就造成了一个CRLF注入漏洞

这个CRLF注入漏洞可以导致会话固定漏洞、设置Cookie引发的CSRF漏洞或者XSS漏洞。其中,我们通过注入两个\r\n即可控制HTTP体进行XSS,但因为浏览器认为这是一个300跳转,所以并不会显示我们注入的内容。

这个情况下,我们可以利用一些技巧:比如使用CSP头来iframe的地址,这样浏览器就不会跳转,进而执行我们插入的HTML:

如何修复这个CRLF漏洞?正确的做法应该是如下:

location / {
    return 302 https://$host$request_uri;
}

另外,由$uri导致的CRLF注入漏洞不仅可能出现在上述两个场景中,理论上,只要是可以设置HTTP头的场景都会出现这个问题。

由于我的8080端口访问报错,出现此页面不能正确地重定向,导致无法进行复现,但我们要掌握原理,了解该漏洞的问题之处以及防御。

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

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

相关文章

股票分时成交明细接口的数据怎么看?

今天的文章我们主要针对于股票日线级别的行情数据,介绍了一些获取和处理的方法,其实最原始的数据是交易明细数据,level2行情软件的各种周期和统计的数据都是通过明细数据跨周期转换而形成的,比如分钟K线、小时K线、当日成交量、成…

基于STM32蓝牙控制的app智能台灯设计

提示:记录毕设 文章目录前言一、任务书1.1设计(研究)目标:1.2设计(研究)内容:二、代码思路三、硬件设计3.1总体设计3.2蓝牙部分设计四、联系我们五、部分代码喜欢请点赞哦!前言 基于STM32蓝牙控制的app智能台灯设计,主控使用STM32F103ZET6&a…

web服务器及IDEA部署Tomcat服务器

目录 一、程序开发体系结构 1.1 C/S体系结构 1.2 B/S体系结构 二、Web服务器 2.1 概念 2.1.1 什么是Web 2.1.2 什么是Web服务器 2.2 常见Web服务器 2.3 Tomcat服务器 2.3.1 Tomcat的下载 2.3.2 Tomcat的安装 2.3.3 Tomcat的目录结构 2.3.4 Tomcat的启动 2.3.5 To…

MFC树控件的属性和初始化(基于对话框的编程)

目录 一、控件属性 1.找控件Tree Control 2.Has Lines和Has Buttons属性 3.Lines At Root属性 二、代码操作Tree Control显示内容 1.添加Tree Control变量 2.在OnInitDialog中添加初始化代码 3.设置图标 3.1导入icon 3.2 写入加载图片代码 3.3添加节点 4.设置默认选…

抗击疫情静态HTML网页作业作品 大学生抗疫感动专题页设计制作成品 简单DIV CSS布局网站

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

HTML期末大作业(HTML+CSS+JavaScript响应式游戏资讯网站bootstrap网页)

🎉精彩专栏推荐👇🏻👇🏻👇🏻 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业…

12月5日:thinkphp模板

今天学习ThinkPHP中的模板部分内容 接口开发,看不到dom结构,页面信息都是通过js或者一些其他技术引入 模板:是用来渲染前端页面,在后端的api接口开发中并不会常用到模板,但是后台管理页面却会使用MVC模式开发&#xf…

Camera API2使用流程分析

1.首先看下framework层CameraService服务初始化流程分析 <1>. main_cameraserver.cpp的路径 /frameworks/av/camera/cameraserver/ CameraService::instantiate&#xff08;&#xff09;实际调用的是BinderService中的函数&#xff0c;因为CameraService是继承BinderSer…

[附源码]计算机毕业设计JAVA疫情状况下生活物资集体团购系统

[附源码]计算机毕业设计JAVA疫情状况下生活物资集体团购系统 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a…

学习ITIL4又给数字人带来哪些优势

2019新的ITIL 指南将被称为ITIL 4。这个名称反映了ITIL 4 在支持个人和组织应对第四次工业革命方面的作用。 IT 是当今世界每个企业的核心。该更新将使ITIL 能够反映我们所处的快节奏和复杂的环境&#xff0c;以及新的工作方式和新兴实践&#xff0c;所有这些都不仅对于ITSM 专…

鹿蜀:一个基于日常开发任务体现开发人员工作状况的系统

一、背景 为了能够更方便、更直观的让Boss&#xff0c;让同伴&#xff0c;让自己了解到自己近期的工作情况&#xff0c;我拉了一个小队&#xff0c;利用农闲的时间&#xff0c;结合已有的项目管理系统中的数据&#xff0c;开发了一个新系统&#xff0c;名叫 “鹿蜀”。 二、系…

K8s 实战 动态PV StorageClass 存储类

前面我们学习了 PV 和 PVC 的使用方法&#xff0c;但是前面的 PV 都是静态的&#xff0c;什么意思&#xff1f;就是我要使用的一个 PVC 的话就必须手动去创建一个 PV&#xff0c;我们也说过这种方式在很大程度上并不能满足我们的需求&#xff0c;比如我们有一个应用需要对存储的…

说说你对slot的理解?

首先&#xff0c;大概了解一下插槽&#xff1a; 插槽是什么 ![在这里插入图片描述](https://img-blog.csdnimg.cn/90b04660769e49c286ee2e1821d2a2bb.png 插槽&#xff1a;在HTML中 slot 元素 &#xff0c;作为 Web Components 技术套件的一部分&#xff0c;是Web组件内的一…

【蓝桥杯选拔赛真题33】python回文数升级 青少年组蓝桥杯python 选拔赛STEMA比赛真题解析

目录 ​编辑 python回文数升级 一、题目要求 1、编程实现 2、输入输出

Spring 框架介绍和使用

微信公众号&#xff1a;运维开发故事&#xff0c;作者&#xff1a;老郑 历史的选择 Spring 作为一个基础的框架&#xff0c;是在 Java EE 开发历史中&#xff0c;是成千上万公司选择。单独使用 Spring 的非常少了&#xff0c;很多都是用 Spring-Boot/Spring-Cloud 来开发&…

文件系统监视器

QFileSystemWatcher类通过监视指定路径的列表来监视文件系统对文件和目录的更改。 构造函数&#xff1a; 常用函数&#xff1a; addPath&#xff08;&#xff09;添加路径addPaths&#xff08;&#xff09;添加多个路径directory&#xff08;&#xff09;返回正在监视的目录的…

【JS】数据结构之队列

文章目录基本概念代码实现基本概念 队列&#xff1a;它是一种运算受限的线性表&#xff0c;FIFO&#xff08;先进先出&#xff09;特性&#xff1a;它只运行表的前端进行删除操作&#xff0c;在表的后端进行添加操作面对无法同时处理多个请求的场景&#xff0c;我们通常就会使…

HTML小游戏16 —— 消除游戏《魔法石》源码(附完整源码)

&#x1f482; 网站推荐:【神级源码资源网】【摸鱼小游戏】&#x1f91f; 前端学习课程&#xff1a;&#x1f449;【28个案例趣学前端】【400个JS面试题】&#x1f485; 想寻找共同学习交流、摸鱼划水的小伙伴&#xff0c;请点击【摸鱼学习交流群】&#x1f4ac; 免费且实用的计…

计算机组成原理(一)计算机系统概论

目录前言计算机硬件的组成和分类冯.诺依曼结构的基本思想运算器存储器控制器程序和指令控制器的基本任务指令流和数据流适配器与I/O设备输入设备计算机软件的组成与分类计算机系统的层次结构计算机系统的性能指标软硬件逻辑的等价性前言 计算机组成原理这门课可以说是计算机专…

b2b2c o2o 多商家入驻商城 直播带货商城 电子商务

一个好的SpringCloudSpringBoot b2b2c 电子商务平台涉及哪些技术、运营方案&#xff1f;以下是我结合公司的产品做的总结&#xff0c;希望可以帮助到大家&#xff01; 搜索体验小程序&#xff1a;海哇 1. 涉及平台 平台管理、商家端&#xff08;PC端、手机端&#xff09;、买…