URL后面不加斜杠导致Host头攻击-nginx

URL后面不加斜杠导致Host头攻击-nginx

参考:https://www.cnblogs.com/fws407296762/p/9336163.html
https://www.freebuf.com/articles/web/178315.html

https://blog.csdn.net/baishuhui123/article/details/89216646

Nginx URL后面不加斜杠301重定向和302重定向。导致的host头攻击。

主要原因:

当请求URL后面没有 / ,Nginx 目录中没有对应的文件,就会自动进行 301 并加上 /.

修复建议:

修复301重定向:

在 Nginx 的配置文件中,加上 port_in_redirect off; 如果是 Nginx 版本号大于 1.11.8,可以考虑用 absolute_redirect off;

注意:

在用 Chrome 的时候,一定要先清除缓存在测试,Chrome 会自动将 301 缓存在本地。

修复302重定向参考下面两种方法:
(亲测方法二可修复302跳转):

方法一:

修改nginx.conf

添加一个默认server,当host头被修改匹配不到server时会跳到该默认server,该默认server直接返回403错误。

例子如下:

server {
       listen 8888 default;
       server_name _;
       location / {
            return 403;
       }
       }

重启nginx即可。

方法二:

修改nginx.conf

在目标server添加检测规则,参考以下配置:

server {
       server_name  192.168.0.171;
       listen       8888;
        if ($http_Host !~*^192.168.0.171:8888$)
        {
        return 403;
        }
     }

重启nginx即可。

如果nginx.conf无法reload ,报invalid condition "$http_Host“这个错误,可修改为如下:

if ($http_Host != ‘192.168.0.171:8888’)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ordar123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值