1、什么是不安全的HTTP方法
开发人员、运维人员一般可能用于调试服务器,开启了一些客户端能够直接读写服务器端文件的方法,例如:DELETE, PUT, COPY, MOVE, PROPFIND, PROPPATCH, SEARCH, LOCK, UNLOCK 等HTTP协议支持的方法。
2、安全风险
可能直接通过浏览器直接在Web服务器上上传、修改或删除Web页面、脚本和文件。
3、不安全的HTTP方法——原理
方法 | 说明 |
---|---|
PUT | 向指定的目录上载文件 |
DELETE | 删除指定的资源 |
COPY | 将指定的资源复制到Destination消息头指定的位置 |
MOVE | 将指定的资源移动到Destination消息头指定的位置 |
SEARCH | 在一个目录路径中搜索资源 |
PROPFIND | 获取与指定资源有关的信息,如作者、大小与内容类型 |
TRACE | 在响应中返回服务器收到的原始请求 |
服务器端由于配置权限不当,导致允许了客户端发送 DELETE, PUT, COPY, MOVE, PROPFIND, PROPPATCH, SEARCH, LOCK, UNLOCK等请求,并且解析请求进行操作文件。如果服务器必须要支持WebDAV,请务必禁用它或禁止不必要的HTTP方法。
4、测试步骤
使用CURL发送OPTIONS请求,查看响应头中的Allow行
命令:curl -I -X OPTIONS http://payloads.online
➜ ~ curl -I -X OPTIONS http://10.211.55.16/
HTTP/1.1 200 OK
Date: Wed, 18 Apr 2018 02:17:47 GMT
Server: Microsoft-IIS/6.0
MS-Author-Via: DAV
Content-Length: 0
Accept-Ranges: none
DASL: <DAV:sql>
DAV: 1, 2
Public: OPTIONS, TRACE, GET, HEAD, DELETE, PUT, POST, COPY, MOVE, MKCOL, PROPFIND, PROPPATCH, LOCK, UNLOCK, SEARCH
Allow: OPTIONS, TRACE, GET, HEAD, DELETE, COPY, MOVE, PROPFIND, PROPPATCH, SEARCH, MKCOL, LOCK, UNLOCK
Cache-Control: private
若出现PUT、DELETE….等方法,则存在此风险。
5、修复方案
如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下所有的应用有效。
参考:
When you publish yourASP.NETproject toa hosting account such asGoDaddy, you may run into the issue below. This issue may occur even though your code works fine in localhost.Server Error i...
来源:http://blog.csdn.net/xyxjn/article/details/17412453 由于网上有关自动订阅的信息较少,自己姑且整理一下目前接触到的信息,希望能够对一些朋友有所帮助,如有疑问欢迎随时留言交流。相关内容可参见苹果官方文档:https://developer.apple.com/library/ios/#documentat
【Shiro】用户名密码或手机号短信登录(多realm认证)。
机器学习训练营——机器学习爱好者的自由交流空间(qq 群号:696721295)很多统计问题要求总体协方差阵的点估计,大多数情况下,估计是由样本得到的,而样本的属性(大小、结构、同质性)对估计质量有很大的影响。sklearn.covariance包旨在提供不同情况下协方差阵的准确估计。估计前,我们假设样本是独立同分布的。经验协方差一个数据集的协方差阵的经典的估计来自最大似然...
最近本菜鸡在学习线段树,于是想着学完写篇博客巩固一下。写的不好勿喷~问题一:给出n个数,n<=100,和m个询问,每次询问区间[l,r]的和,并输出。问题二:给出n个数,n<=100,和m个操作,每个操作可能有两种:1、在某个位置加上一个数;2、询问区间[l,r]的和,并输出。问题三:给出n个数,n<=1000000,和m个操作,每个操作可能有两种:1、在某个位置加上一个数;2、询问区间[l,r]的和,并输出。问题四:给出n个数,n<=1000000,和m个操作,每个
CABAC 是H.264/AVC标准中两种熵编码方法中的一种,是将自适应的二进制算术编码与一个设计精良的上下文模型结合起来得到的方法。它很好地利用了语法元素数值之间的高阶信息,使得熵编码的效率得到了进一步提高。它的主要特点有:利用每个语法元素的上下文关系,根据已编码元素为待编码元素选择概率模型,即上 下文建模;根据当前的统计特性自适应地进行概率估计;使用算术编码。在CABAC中编码一个单独
<div class="x-scroll"> <ul class="wrap"> <li>1</li> <li>2</li> <li>3</li> <li>4</li> <li>5...
大话信号与系统 前言:大家都知道《信号与系统》是一门很难的课,很多人虽然学过了,但其实什么也没得到,今天给大家推荐这篇文章,看了之后,相信你会有收获。第一课 什么是卷积?卷积有什么用? 很多朋友和我一样,工科电子类专业,学了一堆信号方面的课,什么都没学懂,背了公式考了试,然后毕业了。 先说"卷积有什么用"这个问题。(有人抢答,"卷积"是为了学习"信号与系...
目录一.算法效率二.时间复杂度三.空间复杂度一.算法效率算法效率分析分为两种:第一种是时间效率,第二种是空间效率。时间效率被称为时间复杂度,而空间效率 被称作空间复杂度。 时间复杂度主要衡量的是一个算法的运行速度,而空间复杂度主要衡量一个算法所需要 的额外空间,在计算机发展的早期,计算机的存储容量很小。所以对空间复杂度很是在乎。但是经过计算机 行业的迅速发展,计算机的存储容量已经达到了很高的程度。所以我们如今已经不需要再特别关注一个算法 的空间复杂度。二.时间复杂度
吸烟者认为吸烟是一种享受,能帮他们放松,或者能起到别的方面的作用;其实不是的,吸烟是一种病,这种病叫做尼古丁上瘾;吸烟的真正作用是对尼古丁戒断症状的暂时缓解!也就是说,香烟没有带给你快乐,而只是带给你了尼古丁;尼古丁这东西就是一个陷阱,当你的身体代谢掉一些尼古丁之后,就会有些不适,再抽一根烟就会缓解这些不适,同时也带来了新的尼古丁...就好比你...
ViewPager 是开发中经常用到的一个控件,但高度却不能根据内容自适应,设置android:layout_height="wrap_content"之后还是占满全屏。看的网上的解决办法主要有下面几种:设置固定高度 android:layout_height="100dp"。在一定情况下这种方法是可以的,但在屏幕适配方面可能会有问题。在LinearLayout布局中使用weight改变ViewP...
Bluetooth MESH目前采用的是基于flooding协议的MESH网络技术。在发布的协议版本中,有提到在未来的修订版本中可能会加入基于路由协议的MESH网络。 的确,flooding协议是相对比较初级的MESH网络技术。由于在网络层中的数据包都是以广播的形式发送并且转发,会在网络中产生大量重复发送的数据包,从而对网络的整体功耗有很大程度的负面影响。目前的flooding MESH协