【发布时间】:2023-04-11 12:45:01
【问题描述】:
我有以下 nginx 配置:
server
{
listen 80 default;
listen [::]:80 default_server ipv6only=on;
server_name _;
root /home/user/websites/$host;
index index.html;
}
这简化了配置(根据我的需要),如果我想为新域或子域提供服务,我只需创建文件夹 /home/user/websites/sub.domain.tld/。
我的问题是,通过这种设置,恶意用户是否可以发送错误的Host 标头并遍历目录结构?
我尝试了以下方法:
$ curl --header "Host: ../testing" ip.address
nginx 按预期返回400 Bad Request。有没有其他方法可以规避这种情况,或者 nginx 是否可以防止这种攻击?
【问题讨论】:
-
否,但它可能是 IP/IPv6 地址。 github.com/nginx/nginx/blob/master/src/http/…
标签: security nginx http-headers header-injection