关注网络与数据安全

忘记密码
“游侠安全网”创建了网络安全从业者QQ大群(群号:389710688) ,欢迎各位同仁加入!有其它问题,请联系站长“网路游侠”,QQ:55984512


处理“启用了不安全的HTTP方法”

2016-07-11 11:31 推荐: 浏览: 66字号:

摘要: 配图来自安恒网站安全监测平台 安全风险: 可能会在Web 服务器上上载、修改或删除Web 页面、脚本和文件。 可能原因: Web 服务器或应用程序服务器是以不安全的方式配置的。 修订建议: 如果服务器不需要支持WebDAV,请务必禁用它,或禁止不必要的HTT...

webdav

配图来自安恒网站安全监测平台

安全风险:

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

可能原因:

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

修订建议:

如果服务器不需要支持WebDAV,请务必禁用它,或禁止不必要的HTTP 方法。

方法简介:

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

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

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

渗透测试步骤:

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

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

手动测试每一个方法,确认其是否可用。

使用curl测试:

curl -v -X OPTIONS http://www.example.com/test/

查看响应的 Allow: GET, HEAD, POST, PUT, DELETE, OPTIONS

curl -v -T test.html http://www.example.com/test/test.html

看是否能上载来判断攻击是否生效。

找一个存在的页面,如test2.html

curl -X DELETE http://www.example.com/test/test2.html

如果删除成功,则攻击有效。

解决方案:

如tomcat,配置web.xml

<security-constraint>
<web-resource-collection>
<web-resource-name>fortune</web-resource-name>
<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>

重启tomcat即可完成。

以上的代码添加到某一个应用中,也可以添加到tomcat的web.xml中,区别是添加到某一个应用只对某一个应用有效,如果添加到tomcat的web.xml中,则对tomcat下所有的应用有效。

原文地址:这里

联系站长租广告位!

中国首席信息安全官
Copy link