HOST头攻击漏洞

详细描述

为了方便的获得网站域名,开发人员一般依赖于HTTP Host header。例如,在php里用_SERVER[“HTTP_HOST”]。但是这个header是不可信赖的,如果应用程序没有对host header值进行处理,就有可能造成恶意代码的传入。

修复建议

Nginx

Nginx.conf文件在红色框位置增加如下内容,ip和端口换成项目实际值。(请在测试环境进行测试)

if ( $host != '192.168.1.1' ) {
rewrite ^/(.*)$ http://192.168.1.1/$1 permanent;
}

IIS7.0/7.5/8.0

URL 重写模块 2.0 提供基于规则的重写机制,可在 Web 服务器处理请求的 URL 之前对其进行更改,以及在向 HTTP 客户端提供响应内容之前修改响应内容。以下为URL重写模块官方下载地址:

下载后直接运行安装即可。

安装后,重新打开IIS管理器,IIS管理器中出现URL重新模块即安装成功。

运行URL重新模块,添加规则,选择请求阻止规则。

访问阻止依据选择”主机头”;阻止请求选择”与模式不匹配”,模式填写自己主机访问IP或域名,使用选择”通配符”,阻止方式选择”发送Http 403(禁止)响应”。

双击刚刚创建的规则进行修改。

按照以下图示进行修改,点击应用。

验证

加固前

加固后

发表评论

您的电子邮箱地址不会被公开。

评论(1)