远端www服务支持TRACE请求
最近有个项目被扫出来这个漏洞,使用了jetty来做后台访问,在网上查了很多资料也没有找到如何去过滤这个请求
自定义拦截器
自己实现了一个拦截TRACE请求然后返回403,但是还能扫到,并没有解决该问题
最终解决办法
继承server类,重写handle方法
public class MySever extends Server {
public MySever(QueuedThreadPool tp) {
super(tp);
}
@Override
public void handle(HttpChannel channel) throws IOException, ServletException {
Request request = channel.getRequest();
Response response = channel.getResponse();
if ("TRACE".equals(request.getMethod())) {
request.setHandled(true);
response.setStatus(HttpServletResponse.SC_METHOD_NOT_ALLOWED);
} else {
super.handle(channel);
}
}
}
验证图片
收到trace请求后返回405