博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
启用了不安全的HTTP方法【转】
阅读量:7121 次
发布时间:2019-06-28

本文共 1557 字,大约阅读时间需要 5 分钟。

安全风险:
      可能会在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 --X OPTIONS http://www.example.com/test/

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

curl --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下所有的应用有效。
 
FROM:http://yingfangming.blog.163.com

转载于:https://www.cnblogs.com/NBeveryday/p/8080889.html

你可能感兴趣的文章
基于正交拉普拉斯脸的人脸识别算法研究
查看>>
使用Nuxt.js创建服务器端渲染的Vue.js应用程序
查看>>
匿名内部类方式使用多线程
查看>>
hiveserver2连接报错: User: root is not allowed to impersonate anonymous (state=08S01,code=0)
查看>>
响应式布局讲解
查看>>
如何做项目的汇报/分享?
查看>>
理解Python中的类对象、实例对象、属性、方法
查看>>
如何看待云存储的核心问题——安全?
查看>>
83行代码
查看>>
聚焦物联网前沿科技,“南京软件谷·美国高通联合创新中心”正式落地
查看>>
深入分析glibc内存释放时的死锁bug
查看>>
游戏领域区块链探索
查看>>
PERF EVENT 硬件篇
查看>>
2017亚太CDN峰会盛大开幕 SinoBBD打造一体化开放式云平台
查看>>
Ubuntu 16.04下使用Wine安装PowerDesigner15
查看>>
阿里云Kubernetes SpringCloud 实践进行时(1): 分布式服务注册与发现
查看>>
Open Platform,全球首个为应用程序服务的区块链基础支付平台
查看>>
IOS隐藏键盘
查看>>
代码为什么那么乱! 换种方法学面向对象
查看>>
WPF中动态添加控件,并为控制指定样式
查看>>