最近扫描项目所在的服务器发现一个漏洞,名称叫“远程WWW服务支持TRACE请求”,提供的解决办法没多大用处,只说是“管理员应禁用WWW服务对TRACE请求的支持”,但具体怎样做不太清楚,上网搜了一下,利用apache服务器的rewrite功能,对TRACE请求进行拦截,以下是解决办法。
详细描述 | 远端WWW服务支持TRACE请求。RFC 2616介绍了TRACE请求,该请求典型地用于测试HTTP协议实现。攻击者利用TRACE请求,结合其它浏览器端漏洞,有可能进行跨站脚本攻击,获取敏感信息,比如cookie中的认证信息,这些敏感信息将被用于其它类型的攻击。 |
解决办法 | 管理员应禁用WWW服务对TRACE请求的支持。 IIS URLScan Apache Source Code Modification Mod_Rewrite Module RewriteEngine on RewriteCond {REQUEST_METHOD} ^(TRACE|TRACK) RewriteRule .* - [F] |
步骤:
1、停止Apache服务(以root权限登录)
# cd /opt/IBM/HTTPServer/bin
# ./apachectl stop
2、修改httpd.conf文件
# cd /opt/IBM/HTTPServer/conf
编辑httpd.conf文件
# 首先,激活rewrite模块(去掉符号#)
LoadModule rewrite_module modules/mod_rewrite.so
# 启用Rewrite引擎
RewriteEngine On
# 对Request中的Method字段进行匹配:^TRACE 即以TRACE字符串开头
RewriteCond %{REQUEST_METHOD} ^TRACE
# 定义规则:对于所有格式的来源请求,均返回[F]-Forbidden响应
RewriteRule .* - [F]
对于2.0.55以上版本的apache服务器,有一种更简单的办法:
TraceEnable off
3、启动Apache服务(以root权限登录)
# cd /opt/IBM/HTTPServer/bin
# ./apachectl start