这个标签用的服务器url,直接访问服务器接口就行
错误配置导致,location缺少了一个/
这里我理解是以/作为一种分割,配置这个就可以让人为加的../不生效
而这里缺少,则可以通过img../去到autoindex设定的路径下比如原本是/HOME/imges/
但是这里配置/img没加/,那么认为没有被闭合好,并且只能是配置这边配好才可以闭合,外部输入的/不会影响我后面继续跨目录。可以加入../,会变成/HOME/imges/../
这里还可以借助这个错误的img的自动索引配置穿越到其他位置
解决方法:
-
配置Nginx以避免目录遍历。
-
使用
autoindex off;
指令禁用自动索引功能。 -
使用
location
块来限制访问特定目录。 -
使用
try_files
指令来避免目录遍历尝试。
例子:
server {
listen 80;
server_name example.com;
location / {
root /var/www/html;
index index.html index.htm;
try_files $uri $uri/ =404;
}
location /restricted {
root /var/www/html;
autoindex off; # 禁用自动索引
deny all; # 禁止所有用户访问
}
}