关于禁用不必要的 HTTP 方法以及隐藏403错误暴露的版本信息

近几日安全整改,提示出一个问题”启用了不安全的http方法”,就这么一个问题我可算是折腾了整整一天。

如下是暴露出来的问题

首先和大家介绍一下启用不安全http方法存在风险以及介绍

安全风险:

      可能会在Web 服务器上上载、修改或删除Web 页面、脚本和文件。

可能原因:

      Web 服务器或应用程序服务器是以不安全的方式配置的。

修订建议:

      禁止不必要的HTTP 方法。

方法简介:

除标准的GET和POST方法外,HTTP请求还使用其他各种方法。许多这类方法主要用于完成不常见与特殊的任务。如果低权限用户可以访问这些方法,他们就能够以此向应用程序实施有效攻击。以下是一些值得注意的方法:

  PUT   向指定的目录上载文件
  DELETE  删除指定的资源
  COPY  将指定的资源复制到Destination消息头指定的位置
  MOVE  将指定的资源移动到Destination消息头指定的位置
  SEARCH  在一个目录路径中搜索资源
  PROPFIND  获取与指定资源有关的信息,如作者、大小与内容类型
  TRACE  在响应中返回服务器收到的原始请求

其中几个方法属于HTTP协议的WebDAV(Web-based Distributed Authoring and Versioning)扩展。

渗透测试步骤:

使用OPTIONS方法列出服务器使用的HTTP方法。注意,不同目录中激活的方法可能各不相同。

许多时候,被告知一些方法有效,但实际上它们并不能使用。有时,即使OPTIONS请求返回的响应中没有列出某个方法,但该方法仍然可用。

针对以上风险,网上给的基本解决方式是在tomcat下的conf/web.xml增加一下内容。需要注意一定是删除不必要的,如get,put,delete在使用一定不要写进去,否则程序将无法存储。

<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>TRACE</http-method>
</web-resource-collection>
<auth-constraint></auth-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
</login-config>

但是这样的方法对我程序并没有起到效果,不知道什么原因。

以下是我的处理方法

同样是在在tomcat下的conf/web.xml增加内容如下

<security-constraint>
<web-resource-collection>
<url-pattern>/*</url-pattern>
<http-method>OPTIONS</http-method>
<http-method>HEAD</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>

按照如上增加,确实禁止了以上方法,出现了403错误,暴露出另一个问题,泄露了tomcat版本信息

遇到这个问题不要慌,隐藏即可,此方法可以同理应用到其他泄露版本的情况

修改apache-tomcat-7.0.63/lib/catalina.jar文件中的org\apache\catalina\util\ServerInfo.properties版本,该为红色部分即可

server.info=Apache Tomcat
server.number=0.0.0.0
server.built=Jun 30 2015 08:08:33 UTC

成功如下,这样既禁用了不必要的http方法,同时也解决了403错误泄露版本号问题。

转载于:https://my.oschina.net/monkeybiao/blog/1545527

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值