nginx配置不当引起的错误
1.CRLF注入
1.1环境配置
apt install nginx
vi /etc/nginx/sites-available/default
location / {
return 302 https://$host$uri;
}
service nginx restart
1.2原理
$uri为接收浏览器中的url的变量,并且会进行解码(比如传入url编码过的参数)
return 302 https://$host$uri;为返回对应的https页面。
如果返回$uri,当传入%0D%0A就会解码成换行和回车.
当访问
http://1.1.1.1/%0D%0Aset-cookie:JSPSESSID=123时,会跳转到
https://1.1.1.1/%0D%0Aset-cookie:JSPSESSID=123,返回的302跳转包头应该为
HTTP/1.1 302 Moved Temporarily
.........
.........
Location: https://1.1.1.1/%0D%0Aset-cookie:JSPSESSID=123
但是因为配置文件利用的是$uri会对%0A%0D解码,所以实际的返回的跳转的包头
HTTP/1.1 302 Moved Temporarily
.........
.........
Location: https://1.1.1.1/
set-cookie:JSPSESSID=123
所以cookie就可以修改了,如果给别人发送这样一个链接,就可以控制他的cookie了。
结合xss:

两个CRLF区分头部和内容部分,所以<script>alert(222)</script>就变成了返回的内容
这里是个302跳转,我也不知道这个xss会不会执行,在浏览器上是不会弹窗的。
我还看了师傅讲的 新浪某站CRLF注入,猜测:
并不是nginx的配置问题,而是一个http header函数的注入,php4.4开始header就限制只能处理一个头部,所以高版本是没有办法复现的。
1.3修复
location / {
return 302 https://$host$request_uri;
}
或者过滤\r \n
$request_uri不会对参数进行编码
2.目录穿越漏洞
2.1配置
想让用户直接获取主机上的文件,可以修改nginx的配置文件
vi /etc/nginx/sites-available/default
location /files {
alias /home/;
autoindex on; //可以显示目录列表
}
2.2原理
当访问http://1.1.1.1/files的时候,就可以访问/home下的文件了。
因为配置/files的别名是/home/,所以访问/files../相当于访问/home/../这样自然就到了上一级目录。
2.3 修复
根据原理,/files与他的别名相对应就可以了。
/files---/home
/files/---/home/
3.Http Header被覆盖的问题
3.1环境配置
vi /etc/nginx/sites-available/default
server {
...
add_header Content-Security-Policy "default-src 'self'";
add_header X-Frame-Options DENY;
location = /test1 {
rewrite ^(.*)$ /xss.html break;
}
location = /test2 {
add_header X-Content-Type-Options nosniff;
rewrite ^(.*)$ /xss.html break;
}
}
在web目录下边新建xss.html,内容为
<script>alert(1)</script>
3.2原理
/test2子块中的策略会直接覆盖父块中的策略使其失效
3.3 复现
访问/test1,发现不弹窗,查看源码

发现CSP起了作用,访问/test2,发现直接弹窗

nginx配置不当引起的错误的更多相关文章
- Nginx配置不当可能导致的安全问题
Nginx配置不当可能导致的安全问题 Auther: Spark1e目前很多网站使用了nginx或者tenginx(淘宝基于Nginx研发的web服务器)来做反向代理和静态服务器,ningx的配置文件 ...
- nginx配置不当容易产生的安全问题
nginx一般用于做外网代理,配置也比较方便,但是配置不当的时候会产生一些安全问题.其中包括各个大厂也都出现过. intra server -> proxy -> nginx 一般正常的 ...
- Nginx配置不当(CRLF注入 、目录穿越)
基于vulhub漏洞环境 环境搭建参考:https://blog.csdn.net/qq_36374896/article/details/84102101 1.漏洞名称 CRLF注入 2.漏洞原理 ...
- nginx配置不当导致的目录遍历下载漏洞-“百度杯”CTF比赛 2017 二月场
题目:http://98fe42cede6c4f1c9ec3f55c0f542d06b680d580b5bf41d4.game.ichunqiu.com/login.php 题目内容: 网站要上线了, ...
- nginx 配置不当导致目录遍历下载漏洞
今天做百度杯的时候发现一个题很有意思. 点进题目,发现了一个js重定向到login.php,抓包发现请求的header中cookie=0,做过这种类似的题目,o==false,在请求头里面将cooki ...
- nginx解析漏洞,配置不当,目录遍历漏洞环境搭建、漏洞复现
nginx解析漏洞,配置不当,目录遍历漏洞复现 1.Ubuntu14.04安装nginx-php5-fpm 安装了nginx,需要安装以下依赖 sudo apt-get install libpcre ...
- NGINX 配置404错误页面转向
什么是404页面 如果碰巧网站出了问题,或者用户试图访问一个并不存在的页面时,此时服务器会返回代码为404的错误信息,此时对应页面就是404页面.404页面的默认内容和具体的服务器有关.如果后台用的是 ...
- nginx配置 的话注意几点 1.错误时注意看log 2.天威证书的话,有文档按照其文档一步步配置即可;3每句话的结尾注意千万别丢掉分号
nginx配置 的话注意几点 1.错误时注意看log 2.天威证书的话,有文档按照其文档一步步配置即可:3每句话的结尾注意千万别丢掉分号:4.配置https时 其转发可以转发到http上 pass_ ...
- NGINX 配置404错误页面转向
什么是404页面 如果碰巧网站出了问题,或者用户试图访问一个并不存在的页面时,此时服务器会返回代码为404的错误信息,此时对应页面就是404页面.404页面的默认内容和具体的服务器有关.如果后台用的是 ...
随机推荐
- 简单注册表单--HTML练手项目3【Table】
[本文为原创,转载请注明出处] 技术[HTML] 布局[Table] 步骤1 划分table布局 步骤2 填充内容 文本框+密码框+单选框+复选框+多行文本域+按钮 <input> ...
- 结对编程作业(python实现)
一.Github项目地址:https://github.com/asswecanfat/git_place/tree/master/oper_make 二.PSP2.1表格: PSP2.1 Perso ...
- redis集群安装2
概要:本文主要介绍如何在Centos7中单机搭建redis集群三主三从,按照本文绝对可以实现该需求,至于先搭建单机版主要为了方便理解redis集群,为下一步开发或生产上redis集群做铺垫.同时本 ...
- 【leetcode】637. Average of Levels in Binary Tree
原题 Given a non-empty binary tree, return the average value of the nodes on each level in the form of ...
- init system
参考:5 Best Modern Linux ‘init’ Systems (1992-2015) 参考:Linux开机流程 参考:<鸟哥的 Linux 私房菜:基础学习篇 第四版>第十七 ...
- 用python文件操作实现复制图片、视频
图片复制 打开源图片: f_src = open('1.jpg','rb') 读取图片内容并存储到content变量 content = f_src.read() 打开复制后的图片,没有则创建 f_c ...
- asp.netMVC中使用aop进行关注点分离
资源地址:https://stackoverflow.com/questions/23244400/aspect-oriented-programming-in-asp-net-mvc 从页面复制过来 ...
- Paper Reading:TridentNet
论文:Scale-Aware Trident Networks for Object Detection 发表时间:2019 发表作者:(University of Chinese Academy o ...
- 解决echarts的叠堆折线图数据出现坐标和值对不上的问题
原文:https://blog.csdn.net/qq_36538012/article/details/88889545 ------------------------------- 说一个小bu ...
- 1. jenkins常见错误及解决方法
1. Jenkins一直卡在启动页面 需要你进入jenkins的工作目录, 打开 hudson.model.UpdateCenter.xml 把 http://updates.jenkins-ci.o ...