1、描述
一般在配置Nginx访问静态资源时,需要指定文件在服务器上的路径,一般是在location下配置alias设置文件目录。如果alias路径后配置了/而location路径后未配置/就会出现目录穿越的漏洞,访问者通过调整url的格式就可以查看到alias配置路径的目录的上层目录及文件情况,造成信息泄露。
2、解决方案
在配置alias目录路径时,location后面的目录路径也要加上/,如:location /files/
3、配置示例
未配置:
server {
listen 8081;
server_name localhost;
location /cc1 {
autoindex on;
alias /test/;
autoindex_exact_size off;
autoindex_localtime on;
charset utf-8;
index index.html index.htm;
}
}
这时调整url:http://localhost:8081/cc1../
发现/test上层目录的情况,也就是根分区下的目录、文件情况也显示了出来,这时我们可以进入到根分区下任意的目录,服务器上的所有文件全部暴露
配置后:
server {
listen 8081;
server_name localhost;
location /cc1/ {
autoindex on;
alias /test/;
autoindex_exact_size off;
autoindex_localtime on;
charset utf-8;
index index.html index.htm;
}
}
继续访问:http://localhost:8081/cc1../
但是需要注意,如果将alias配置成root的话,需要设置location配置到/,如果location后配置到其他路径的话,那么会报404错误
例:
现在访问http://192.168.88.138:8081/cc1/1.html,发现报404错误
个人技术文档分享网站,更多有关于linux运维相关的学习资料:
原文地址:https://blog.csdn.net/zzf9347/article/details/128140026
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_32210.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。