深入浅出带你学习Nginx中间件常见漏洞

前言

上篇文章总结了APACHE中间件的常见漏洞,本文介绍一个同样很常用的中间件——nginx,本文会讲解关于nginx中间件的常见漏洞利用方式与危害,下面展开来给大家讲解。

Nginx是什么?

在讲漏洞之前我们需要先知道什么是nginx,简单来说Nginx是一款轻量的WEB 服务器/反向代理服务器及邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,而且nginx的并发能力在同类型的网页服务器中表现较好。根据其特点经常被用于轻量级网站开发,故而有很多关于它的漏洞。

Nginx配置文件错误导致的解析漏洞

关于由于配置文件错误导致的解析漏洞前文已经给大家讲过了,但Nginx也存在解析漏洞,其利用方法与之前中间件漏洞的方法大体一致,具体为对于任意文件名,在后面添加/xxx.php,即可将文件作为php解析,比如我们建立下面一个文件:

xino.jpg/xxx.php 

当我们上传后,服务器会将xino.jpg以php解析从而达到执行php命令的目的。

下面通过实例给大家验证,假如现在有一个存在该漏洞的网站,存在一个图片的上传点,但不能上传php文件,我们在其上传点上传符合漏洞利用特征的文件:

xino.png/a.php 

文件内容为查看php配置信息,上传成功后访问上传文件的路径,发现文件被解析成为了php语言,成功回显了php配置信息

Nginx 空字节任意代码执行漏洞

空字节顾名思义就是为空的字节,经常以%00来表示空字节,该漏洞就是我们可以在图片中嵌入PHP代码然后通过访问xxx.jpg%00.php来执行其中的代码,大致影响范围为:

nginx 0.5.*

nginx 0.6.*

nginx 0.7 <= 0.7.65

nginx 0.8 <= 0.8.37

我们还是用实例来讲解,首先建立一个1.jpg文件,同时在jpg里面添加内容:

<?php phpinfo(); ?> 

上传文件后我们进行抓包,修改上传文件名为:

1.jpg%00.php 

发包后发现图片文件被解析成为了php文件,成功利用漏洞:

CVE-2013-4547

该漏洞可以简述为文件名逻辑漏洞,影响版本如下:

Nginx 0.8.41 ~ 1.4.3 / 1.5.0 ~ 1.5.7

具体解释就是假如我们上传了一个图片文件,但我们想让它作为php解析,于是抓包1.png.php,用在.php前用空格和零截断,需要我们注意的是需要从hex出编码处修改,20代表空格 00代表 \0,漏洞利用成功。

发包后图片就会以php文件来解析了,我们的漏洞也就成功复现了。

Nginx 配置错误导致的安全问题

由于配置问题导致的安全问题就太多了,不同地方配置时均可能产生安全问题,比如路径配置不好可能会造成目录遍历,下面举一些简单的例子:

server {
listen 80 default_server;
server_name _;
location /static {
alias /usr/share/nginx/static/;
}
location /api {
proxy_pass http://apiserver/v1/;
}
} 

上面的代码就有可能造成目录遍历,简单分析一下,可以发现在拼接时alias前面缺少一个反斜杠,这个就会导致访问上层目录,这一个小点就会导致存在目录遍历漏洞,可以看到nginx中配置东西还是需要严谨的,一点小差错就会导致漏洞。

结语

本文总结了一下中间件nginx在中间件常见的漏洞,当然只是一小部分,总结一下NGINX主要还是围绕解析漏洞来展开,对于NGINX存在的漏洞我们也可以带入到别的中间件去分析,如果喜欢本文,希望可以一键三连支持一下。## 最后
从时代发展的角度看,网络安全的知识是学不完的,而且以后要学的会更多,同学们要摆正心态,既然选择入门网络安全,就不能仅仅只是入门程度而已,能力越强机会才越多。

因为入门学习阶段知识点比较杂,所以我讲得比较笼统,大家如果有不懂的地方可以找我咨询,我保证知无不言言无不尽,需要相关资料也可以找我要,我的网盘里一大堆资料都在吃灰呢。

干货主要有:

①1000+CTF历届题库(主流和经典的应该都有了)

②CTF技术文档(最全中文版)

③项目源码(四五十个有趣且经典的练手项目及源码)

④ CTF大赛、web安全、渗透测试方面的视频(适合小白学习)

⑤ 网络安全学习路线图(告别不入流的学习)

⑥ CTF/渗透测试工具镜像文件大全

⑦ 2023密码学/隐身术/PWN技术手册大全

如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!

扫码领取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值