检测到目标URL存在http host头攻击漏洞 绿盟科技 web
问题描述
详细描述 | 为了方便的获得网站域名,开发人员一般依赖于HTTP Host header。例如,在php里用_SERVER[“HTTP_HOST”]。但是这个header是不可信赖的,如果应用程序没有对host header值进行处理,就有可能造成恶意代码的传入 |
解决办法 | web应用程序应该使用SERVER_NAME而不是host header。在Apache和Nginx里可以通过设置一个虚拟机来记录所有的非法host header。在Nginx里还可以通过指定一个SERVER_NAME名单,Apache也可以通过指定一个SERVER_NAME名单并开启UseCanonicalName选项。 |
威胁分值 | 5 |
危险插件 | 否 |
发现日期 | 2008-06-12 |
本项目使用javaweb开发
原因:在jsp中存在
//jsp页面使用了getServerName()拼接地址,而它容易被更改
request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
解决方式:
可以在6.0.x以上版本启用此方法
在tomcat的conf/server.xml文件配置
<Host name="her-3" appBase="webapps" unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Alias>10.1.8.158</Alias>
<!--10.1.8.158 部署服务器的ip,name部署服务器的hostname-->
</Host>