概述
检测到目标URL存在http host头攻击漏洞。
这个漏洞通常表示目标URL会被截取,攻击者可以修改了头信息中的”host”属性后再调用,会导致最后导向的目标主机被篡改。
那为什么会有这个漏洞产生?因为代码中使用了系统变量$_SERVER[‘server_name’],它获取的正是http headers中的host信息(在通常情况下是这样,如果server的端口修改了,那host = server_name : server_port)。
$_SERVER[‘http_host’]保存的也是http request headers中的host信息。http_host和server_name是有可能不同的,这在于是否在apache配置文件中配置了“UseCanonicalName On”的配置项,如果设置了此配置,则http_host是http request headers中的host信息,而server_name则是apache配置文件中配置的ServerName的信息。未设置此配置项时,http_host与server_name都是http request headers中的host信息。
要避免这个漏洞,需要注意不要使用PHP的系统变量$_SERVER[‘server_name’]。
如果需要定位某些操作的链接信息,建议添加相关配置后使用配置的信息。(如果必须要用,就配置“UseCanonicalName On”并设置“ServerName”吧)
如果使用框架(例如thinkphp),在视图中也不要使用系统变量来进行某些操作$Think.server.server_name。
最后
以上就是朴实爆米花为你收集整理的检测到目标URL存在http host头攻击漏洞的全部内容,希望文章能够帮你解决检测到目标URL存在http host头攻击漏洞所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复