Tomcat 目标URL存在http host头攻击漏洞tomcat修复方法

44 篇文章 0 订阅
8 篇文章 0 订阅

一、漏洞描述:

为了方便获取网站域名,开发人员一般依赖于请求包中的Host首部字段。例如,在php里用_SERVER[“HTTP_HOST”]。但是这个Host字段值是不可信赖的(可通过HTTP代理工具篡改),如果应用程序没有对Host字段值进行处理,就有可能造成恶意代码的传入。

二、解决办法

打开tomcat/conf/server.xml文件,修改属性:name:主机域名

	<Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="false">
	</Host>
# 修改 name = “localhost” 为 name = “www.xxx.com”
	<Host name="www.xxx.com"  appBase="webapps"
            unpackWARs="true" autoDeploy="false">
	</Host>

其它修复建议:
Web应用程序应该使用SERVER_NAME而不是host header。
在Apache和Nginx里可以通过设置一个虚拟机来记录所有的非法host header。在Nginx里还可以通过指定一个SERVER_NAME名单,Apache也可以通过指定一个SERVER_NAME名单并开启UseCanonicalName选项。
参考:
Nginx,修改ngnix.conf文件,在server中指定一个server_name名单,并添加检测。
Apache,修改httpd.conf文件,指定ServerName,并开启UseCanonicalName选项。
Tomcat,修改server.xml文件,配置Host的name属性

在Tomcat配置多域名,目的是和apache相对应,实现多域名访问。 使用 < Alias></ Alias>,务必注意,使用的是首字母大写
正确配置如下:
在默认的host下添加一个同级的host。

<Host name="www.xxx.com"  unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">  
<Context path="/" reloadable="true" docBase="E:\Workspace\test1\WebRoot" />
<Alias>196.128.1.101</Alias>
</Host>
  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值