首页 > 代码库 > 关于修复“启用了不安全的 HTTP 方法”

关于修复“启用了不安全的 HTTP 方法”

最近在搞个项目,客户那边用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一下,果然那行信息不见了。

但是感觉哪里不太对劲,待明天让客户扫描之后再作验证。