【域名访问限制不严格漏洞原理及修复】


基本信息
漏洞名称:域名访问限制不严格漏洞
漏洞描述: 漏洞详情: 目标存在域名访问限制不严格漏洞。Http请求的Hostname字段没有严格的域名限制,导致可以绕过一些防护措施。 验证方法:
1.访问IP地址时host头可以改为任意域名 2.网站有域名得情况下可以直接通过IP访问网站内容 两种情况存在一种即为存在

漏洞危害
1. 攻击者可以通过直接访问IP绕过CDN、云WAF等云防护措施 2.
攻击者可以将恶意域名解析至服务器IP地址进行仿站,或导致服务器IP因解析恶意域名被查封。 3. 攻击者可以通过修改host头注入恶意代码至页面当中。

解决方案
配置WEB服务器,限制只能通过本地服务器解析的域名访问服务器。
Nginx,修改ngnix.conf文件,在server中指定一个server_name名单,并添加检测。

Nginx:

方法一:

修改nginx.conf

添加一个默认server,nginx 会根据访问头(request head)中Host
的数据来确定使用哪个server来处理当前请求。如果请求没有匹配任何 server,或者访问头(request
head)中没有包含Host的数据,那么nginx会将该请求路由给默认的
server,当host头被修改匹配不到server时会跳到该默认server,该默认server直接返回403错误。

server {

    listen       8888 default_server;

    server_name  _;

    access_log   off;

    return       403;

}
方法二:

修改nginx.conf

在目标server添加检测规则,参考以下配置:(if部分)

server {

       server_name  192.168.0.171;

       listen       8888;



        if ($http_Host !~*^192.168.0.171:8888$)

        {

        return 403;

        }

       include /etc/nginx/default.d/*.conf;



       location / {

       root /www/dvwa;

       index index.php index.html index.htm;

       }

}

Apache:

方法一

修改\conf\httpd.conf文件

修改ServerName为应用的域名,例如

ServerName www.domain.com:80

添加下列行

UseCanonicalName On
在这里插入图片描述重启Apache即可。

方法二:

修改\conf\httpd.conf文件

参考以下配置添加:

NameVirtualHost 192.168.0.16

<VirtualHost 192.168.0.16>

ServerName 192.168.0.16

<Location />

Order Allow,Deny

Deny from all

</Location>

</VirtualHost>

<VirtualHost 192.168.0.16>

DocumentRoot "C:\www"

ServerName www.test.com

</VirtualHost>

重启Apache即可。

作用:
拒绝直接通过192.168.0.16这个IP的任何访问请求,这时如果你用192.168.0.16访问,会提示拒绝访问。仅允许通过www.test.com这个域名访问,主目录指向C:\www

Tomcat:

修改tomcat\conf\server.xml

找到如下位置:
在这里插入图片描述
将Host里的name修改为静态的域名,如下:
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值