暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Nginx目录穿越漏洞

原创 刘韬 云和恩墨 2023-09-19
1327

 

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

错误的配置文件示例(原本的目的是为了让用户访问到/usr/share/nginx/test/目录下的文件。

1. 测试场景

测试版本:nginx version: nginx/1.20.1

      user nginx;

      ...... 

 location /test1 {

           autoindex on;

           #alias /home/;

           alias /usr/share/nginx/test/;

       }

2. 访问结果


目录穿越到上一级


 

 

3. 正确配置

           user nginx;

           ......

           location /test1/ {

           autoindex on;

           #alias /home/;

           alias /usr/share/nginx/test/;

       }

路径后面加个斜杠

 

不能穿越


 

4. 其他说明

另外如果编译时指定了排除自动索引,也可以防止此类目录访问漏洞,例如编译时加上 --without-http_autoindex_module

 

5. 更坏的情况

测试版本:nginx version: nginx/1.20.1

如果权限足够大,比如root运行worker进程

       user root;

       ......

 location /test1 {

           autoindex on;

           alias /test/;

       }

可以通过穿越到上一级后,查看到passwd文件


「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论