最近在搞个项目,客户那边用IBM的appscan扫了下。始终有“启用了不安全的 HTTP 方法”这个漏洞。
找了下网上的资料,方法都是一致的。在web.xml中添加如下代码。
<security-constraint>
<web-resource-collection>
<url-pattern>/*</url-pattern>
<http-method>PUT</http-method>
<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>
本地用curl工具连了下,始终还是发现有这行信息
Allow: GET, HEAD, POST, PUT, DELETE, OPTIONS
几乎崩溃的时候,决定建一个干净的项目来测试。结果发现居然这行信息消失了。
意识到是项目中web.xml的配置问题。
仔细找了web.xml的每行配置,最终发现了可疑的地方。
<error-page>
<error-code>403</error-code>
<location>/WEB-INF/error/403.html</location>
</error-page>
莫不是这行东西搞得鬼?于是删之,再curl一下,果然那行信息不见了。
但是感觉哪里不太对劲,待明天让客户扫描之后再作验证。