记一次目录遍历(目录穿越)bug修复

项目场景:

安全团队预警,提示服务器上的地图服务有目录遍历(目录穿越)bug,地图服务使用了nginx代理。

问题描述

安全团队报告说可以通过浏览器直接看到地图的目录,会造成目录遍历(目录穿越)

原因分析:

在linux中一切皆文件,可以看到每个文件夹下面都是存在着./以及…/两个文件的,用来表示当前文件目录和上一级的文件目录,因此可以使用cd命令对这两个字符进行操作
在web服务中,URL是访问文件的路径标识,该路径和后台web服务器上的文件路径有着某种对应的关系
在定位到该IP服务器之后,则会根据URL到相应的目录下去查找对应的文件。/xxx/xx/是对外显示的文件目录,实际的服务器后台绝对路径可能是web目录+/xxx/xx/,例如/var/www/html/xxx/xx/。如果不对输入的URL进行限制,则存在着构造特殊的URL路径,映射到具体的服务器目录则导致访问回溯,最常见的后果是导致任意文件访问。

报告中提到了直接通过url可以看到文件目录,首先考虑nginx中配置问题。
查询nginx配置说明,发现autoindex配置开启,查阅文档得知。
nginx autoindex 是一种生成目录列表 html 页面的功能,用于在请求目录而非文件时浏览文件、查看文件信息。它可通过配置选项定制,如显示确切文件大小、本地时间和自定义页面格式。优点包括方便浏览、易于配置和提供文件信息。

解决方案:

将nginx配置文件中的autoindex设置为off,再次漏扫测试,显示已修复

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值