Nginx中间件漏洞复现 – 作者:MISUagain

1、文件解析漏洞

漏洞简介:

对于任意文件名,在后面添加 /xxx.php后,即可作为php解析。

影响范围:

该漏洞是Nginx配置所导致,与版本无关。常见漏洞配置如下:
image-20210508134414836.png复现操作:
image-20210508134042803.png
image-20210508134026891.png修复建议:

1.配置cgi.fix_pathinfo(php.ini中)为0并重启php-cgi程序。

2.如果需要cgi.fix_pathinfo的特性(如Wordpress),可以禁止上传目录的执行脚本权限。或站库分离。

3.高版本PHP提供了security.limit_extensions这个配置参数,设置security.limit_extensions= .php

2、目录遍历

漏洞简介:

与Apache一样属于配置所导致的问题。一般配置如下C:\phpStudy\nginx\conf\nginx.conf
image-20210508135446240.png复现操作:
image-20210508135643835.png

3、空字节任意代码执行漏洞

影响范围:

nginx 0.5.*
nginx 0.6.*
nginx 0.7 <= 0.7.65
nginx 0.8 <= 0.8.37

复现环境:

nginx 0.7.65+php 5.3.2

在 /html/目录下创建1.jpg,内容为

<?php phpinfo();?>

image-20210508142149871.png由于1.jpg无法访问,所以在URL中输入1.jpg..进行抓包
image-20210508143409016.pngimage-20210508143316584.pngforword一下,绕过成功。
image-20210508143956761.png该漏洞不受cgi.fix_pathinfo影响,其为0也能解析。

4、CRLF注入漏洞

漏洞原理:

错误的配置文件如下:
image-20210508150108325.png复现环境:

vulhub

5、文件名逻辑漏洞(CVE-2013-4547)

影响范围:

Nginx 0.8.41 ~ 1.4.3 / 1.5.0 ~ 1.5.7

复现环境:

复现时需要文件名后面存在空格,而Windows不允许存在此类文件。使用vulhub进行复现。
image-20210508171248336.pngimage-20210508171322295.png接着抓包1.jpg…php
image-20210508185218495.pngimage-20210508185312299.png
image-20210508185138290.png成功绕过。

来源:freebuf.com 2021-05-08 20:36:03 by: MISUagain

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论