1.为什么要禁止
漏洞描述:
漏洞危害:
2.怎么判断当前虚机是否存在trace漏洞
3.解决方式
3.1虚机层解决
Apache服务器:找到相关apach配置目录
1、停止Apache服务(以root权限登录)# cd /opt/IBM/HTTPServer/bin# ./apachectl stop2、修改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 off3、启动Apache服务(以root权限登录)# cd /opt/IBM/HTTPServer/bin# ./apachectl start
3.2代码层修改
boot项目,内嵌undertow容器解决方案:
dependency>groupId>org.springframwork.bootgroupId>artifactId>spring-boot-starter-undertowartifactId>dependency>
注:定制器怎么调用、加载的,可参考:源码解析
public class UndertowWebServerCustomizerConfig implements WebServerFactoryCustomizerUndertowServletWebServerFactory>{public void customize(UndertowServletWebServerFactory factory){factory.addDeploymentInfoCustomizers(deploymentInfo ->{deploymentInfo.addInitualHandlerChainWrapper(new HandlerWrapper(){public HttpHandler wrap(HttpHandler handler){HttpString[] disallowerHttpMethods = {HttpString.tryFromString("TRACE"),HttpString.tryFromString("TRACK")};return new DisallowedMethodsHandler(handler,disallowerHttpMethods );}});});}}
其余容器的解决方案如下:
版权声明:本文内容始发于CSDN>作者: 一片星空~,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行可。始发链接:https://blog.csdn.net/qq_44691484/article/details/125064060在此特别鸣谢原作者的创作。此篇文章的所有版权归原作者所有,商业转载建议请联系原作者,非商业转载请注明出处


