网站建设一下需要多少费用,广州制作网站,网站公司网站搭建,镇江网络营销外包转载与#xff1a;https://blog.csdn.net/weixin_47723270/article/details/129472716 01 HOST头部攻击漏洞知识 Host首部字段是HTTP/1.1新增的#xff0c;旨在告诉服务器#xff0c;客户端请求的主机名和端口号#xff0c;主要用来实现虚拟主机技术。
运用虚拟主机技术https://blog.csdn.net/weixin_47723270/article/details/129472716 01 HOST头部攻击漏洞知识 Host首部字段是HTTP/1.1新增的旨在告诉服务器客户端请求的主机名和端口号主要用来实现虚拟主机技术。
运用虚拟主机技术单个主机可以运行多个站点。以下图为例hacker和usagidesign两个站点都运行在同一服务器A上不管我们请求哪个域名最终都会被解析成服务器A的IP地址这个时候服务器就不知道该将请求交给哪个站点处理因此需要Host字段指定请求的主机名。
我们访问hacker域名经DNS解析变成了服务器A的IP请求传达到服务器AA接收到请求后发现请求报文中的Host字段值为hacker进而将请求交给hacker站点处理。这里又涉及到计算机网络知识了是不是觉得要学的真多没关系我后面都会一一介绍的 这个时候问题就出现了。为了方便获取网站域名开发人员一般依赖于请求包中的Host首部字段。例如在php里用_SERVER[HTTP_HOST]。但是这个Host字段值是不可信赖的(可通过HTTP代理工具篡改)如果应用程序没有对Host字段值进行处理就有可能造成恶意代码的传入。 02 漏洞检测 Host头攻击漏洞的检测比较简单只需要抓包修改Host字段值提交查看响应中是否包含修改后的Host字段值即可。
下面我分三个场景介绍一下Host头攻击漏洞存在的表现。 跳转 场景一正常请求响应302Location首部字段指明跳转的地址其中Location字段值为Host字段指定的地址。 将请求包的Host字段值修改为www.baidu.com提交响应包中的Location地址也被更改为www.baidu.com。 拼接 场景二正常请求正常响应将Host字段值拼接到标签属性值中。 将请求包的Host字段值修改为www.baidu.com提交发现服务器将www.baidu.com拼接到了script标签的src属性值中。 代码注入 场景三这其实也属于拼接只不过在场景二的基础上写入了恶意代码。 利用Host字段写入script标签弹出警告框。 03 漏洞修复 对Host字段进行检测。
Nginx修改ngnix.conf文件在server中指定一个server_name名单并添加检测。
Apache修改httpd.conf文件指定ServerName并开启UseCanonicalName选项。
Tomcat修改server.xml文件配置Host的name属性。