网站漏洞修复-启用了不安全的方法

发布于:2023-07-27 09:55:57

最近项目验收,然后客户安排了绿盟的人来做渗透测试,其中有个漏洞就是:

启用了不安全的HTTP方法

具体问题就是:

可以用option去访问网页,得到可以访问的方法,常见的有get,post,然后,还有delete,option,head等方法。

这里面的问题就是,get和post是常用的,而delete可以删服务器的文件,option可以查看服务的情况,这些命令的启用,对服务器有风险。

常规修复方法就是,把那些用不到的方法都禁了,只留下get和post。

然后,因为我们的服务器比较老旧,是tongweb4,常规的修复方法是,配置修复,这个方法在tongweb4上面不支持,因为版本太久了。

此处列出常规方案:

修改web.xml

<security-constraint>

<web-resource-collection>

<url-pattern>/*</url-pattern>

<http-method>DELETE</http-method>

<http-method>HEAD</http-method>

<http-method>OPTIONS</http-method>

<http-method>TRACE</http-method>

</web-resource-collection>

<auth-constraint>

</auth-constraint>

</security-constraint>

<login-config>

<auth-method>BASIC</auth-method>

</login-config>

常规来说,把这个配置加到web.xml中,重启,就可以解决问题了,用不到的delete和option等方法就禁止了。

上面的方案在网上很常见,而我写这个,当然是因为,这个方案在tongweb4上面,没用。

最后怎么解决的呢?

用过滤器。

就是servlet的过滤器,过滤掉其他的方法。

过滤器代码如下:

/**

* 修复安全漏洞:启用了不安全的方法 2021年3月3日

*/

public class MethodFilter implements Filter {

/**

* @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain)

*/

public void doFilter(ServletRequest request, ServletResponse response,

FilterChain chain) throws IOException, ServletException {

// TODO Auto-generated method stub

// place your code here

// pass the request along the filter chain

String httpmethod = ((HttpServletRequest) request).getMethod()

.toUpperCase();

if ("GET".equals(httpmethod) || "POST".equals(httpmethod)) {

chain.doFilter(request, response);

} else {

((HttpServletResponse) response).sendError(403);

}

}

public void init(FilterConfig filterConfig) throws ServletException {

// TODO Auto-generated method stub

}

public void destroy() {

// TODO Auto-generated method stub

}

}

然后,还要在web.xml中,配上这个过滤器:

<!-- 修复安全漏洞:启用了不安全的方法 -->

<filter>

<filter-name>MethodFilter</filter-name>

<filter-class>com.web.MethodFilter</filter-class>

</filter>

<filter-mapping>

<filter-name>MethodFilter</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>

至此,万事大吉。

重现用option方法去访问网站,就会报错403。

在这里记录这个处理方案,如果也有朋友遇到配置无效的场景,那么,能看到这个方案,帮到一个人,就非常好了。


免责声明:本站所有内容及图片均采集来源于网络,并无商业使用,如若侵权请联系删除。

上一篇:多个网址导航出现安全拦截提示 目前已恢复

下一篇:拒绝区别对待匿名模式用户!谷歌浏览器修补网站漏洞

资讯 观察行业视觉,用专业的角度,讲出你们的心声。
MORE

I NEED TO BUILD WEBSITE

我需要建站

*请认真填写需求信息,我们会在24小时内与您取得联系。