nginx目录穿越漏洞复现

一、漏洞描述

Nginx在配置别名(Alias)的时候,如果忘记加/,将造成一个目录穿越漏洞。

二、漏洞原理

1、 修改nginx.conf,在如下图位置添加如下配置

在如下配置中设置目录别名时/files配置为/home/的别名,那么当我们访问/files…/时,nginx实际处理的路径时/home/…/,从而实现了穿越目录。

三、漏洞环境搭建和复现

1、 在ubuntu 16.04安装nginx

1.1安装nginx依赖库

1.1.1安装gcc g++的依赖库

ubuntu平台可以使用如下命令:

apt-get install build-essential

apt-get install libtool

1.1.2安装pcre依赖库

apt-get install libpcre3 libpcre3-dev

1.1.3安装zlib依赖库

apt-get install zlib1g-dev

1.1.4安装ssl依赖库

apt-get install openssl

1.2安装nginx

#下载最新版本:

wget http://nginx.org/download/nginx-1.11.3.tar.gz

#解压:

tar -zxvf nginx-1.11.3.tar.gz

#进入解压目录:

cd nginx-1.11.3

#配置:

./configure --prefix=/usr/local/nginx

#编辑nginx:

Make

#安装nginx:

make install

#启动nginx:

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

1.3浏览器访问,测试nginx是否搭建成功

2、 修改/usr/local/nginx/conf/nginx.conf,在如下图位置添加如下内容:

3、重启nginx服务

./sbin/nginx -s reload

4、浏览器访问http://192.168.10.137/files/

5、浏览器访问http://192.168.10.137/files…/,如下图所示,说明存在目录穿越漏洞

6、修改/usr/local/nginx/conf/nginx.conf,把files使用/闭合

7、重启nginx服务,再次访问http://192.168.10.137/files…/,提示404,说明该漏洞不存在

四、漏洞防御

1、修改/usr/local/nginx/conf/nginx.conf,使用/闭合/files,形成/files/。

OpenResty存在两个漏洞,一个是目录穿越漏洞,另一个是内存泄漏漏洞。目录穿越漏洞是指在特殊配置下,攻击者可以通过构造恶意请求,绕过访问控制,访问到服务器上的敏感文件或目录。内存泄漏漏洞是指在特殊配置下,攻击者可以通过发送恶意请求,导致服务器内存泄漏,可能会影响服务器的性能和稳定性。这两个漏洞都影响了Nginx和OpenResty的特定版本。建议用户尽快采取安全措施,禁用相关危险配置,并平滑升级Nginx到最新版以修复这些漏洞。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* [Nginx/OpenResty内存泄漏/目录穿越漏洞复现](https://blog.youkuaiyun.com/sacredbook/article/details/105888606)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [【漏洞预警】Nginx/OpenResty 特殊配置下内存泄漏与目录穿越漏洞](https://blog.youkuaiyun.com/xia296/article/details/106312072)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值