1.为什么要禁止
漏洞描述:
漏洞危害:
2.怎么判断当前虚机是否存在trace漏洞
3.解决方式
3.1虚机层解决
Apache服务器:找到相关apach配置目录
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
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
在此特别鸣谢原作者的创作。
此篇文章的所有版权归原作者所有,商业转载建议请联系原作者,非商业转载请注明出处