WebDAV (Web-based Distributed Authoring and Versioning) 一种基于 HTTP 1.1协议的通信协议.它扩展了HTTP 1.1,在GET、POST、HEAD等几个HTTP标准方法以外添加了一些新的方法,使应用程序可直接对Web Server直接读写,并支持写文件锁定(Locking)及解锁(Unlock),还可以支持文件的版本控制。

描述: 目标开启了WebDAV。

WebDAV(Web-based Distributed Authoring and Versioning)是基于HTTP 1.1的扩展协议,它在HTTP定义的标准方法的基础上增加了一些新的方法,通过这些方法应用程序可以直接在WEB服务器上写入、删除文件等操作。 
危害: 
1.如果WebDAV配置不当,攻击者就有可以匿名对网站内容进行修改、删除及上传任意文件等操作,这可能会导致攻击者完全控制目标WEB服务器。

2.有些老版本的WEB服务器实现WEBDAV的相关功能的组件存在很多严重的安全漏洞,即使WebDAV权限等配置正确,也会可能因服务器上的组件问题而被黑客所利用进而控制整个服务器 

解决方案: 

1、如非绝对必要,请关闭webDAV; 
2、如确需该功能,请更新您的WEB服务器至最新版本,并且正确配置webDAV的访问权限。

关闭方法:
在 IIS6 中禁用 WebDAV 非常简单,只需在 Windows 2003 的安装和卸载 Windows 组件中,找到应用程序服务器部分,并进入 IIS 组件选项,去掉 WebDAV 前面的勾选,然后重新启动 IIS 即可。

 Microsoft windows2000/XP及IE, Office还有Adobe/MacroMedia的DW等都支持Webdav,这又大大增强了Web应用的价值,以及效能。对于需要大量发布内容的用户而言,应用WebDav可以降低对CMS系统的依赖,而且能够更自由的进行创作。上传、下载变得轻松自如。 
  Web 分布式创作和版本管理 (WebDAV) 扩展了 HTTP/1.1 协议,允许客户端发布、锁定和管理 Web 上的资源,与 IIS 集成后。

WebDAV 允许客户端进行下列操作:

  处理服务器上 WebDAV 发布目录中的资源。使用此功能,其优点例如: 
  1.具有正确权限的用户可以在 WebDAV目录中复制和移动文件。 
  2.修改与某些资源相关联的属性。例如,用户可写入并检索文件的属性信息。 
  3.锁定并解锁资源以便多个用户可同时读取一个文件。但每次只能有一个人修改文件。 
  4.搜索 WebDAV 目录中的文件的内容和属性。 
  在服务器上设置 WebDAV 发布目录与通过 Internet 信息服务管理单元设置虚拟目录一样简单。设置好发布目录后,具有适当权限的用户就可以向服务器发布文档,并处理目录中的文件。在设置 WebDAV 目录之前,必须首先安装 Windows XP Professional。

WebDAV 客户端 

  可以通过下面列表中描述的任意一种 Microsoft 产品或通过其他任意的支持行业标准 WebDAV 协议的客户端来访问 WebDAV 发布目录。 
  ·Windows XP 通过“添加网上邻居向导”与 WebDAV 服务器连接,并显示 WebDAV 目录中的内容,如同它是本地计算机上同一文件系统的组成部分。连接完成之后,就可以拖放文件、检索和修改文件属性以及执行许多其他文件系统任务。 
  ·Internet Explorer 5.0 与 WebDAV 目录连接,使您可以执行通过 Windows XP 所能执行的文件系统任务。 
  ·Office 2000 通过其中包含的任意应用程序创建、发布、编辑并直接将文档保存到 WebDAV 目录中。 
  在 WebDAV 中搜索 
  一旦与 WebDAV 目录建立连接,就可以快速搜索此目录中文件的内容和属性。例如,可以搜索包含 
  table 一词的所有文件或所有由 Fred 编写的文件。

集成安全性

  由于 WebDAV 已与 Windows XP 和 IIS 集成,因此它具有这两者所提供的安全特性。其中包括 Internet 信息服务管理单元中指定的 IIS 权限和 NTFS 文件系统中的自由选择访问控制列表 (DACL)。有关 IIS 安全性的信息,请参阅安全性。 
  由于具有适当权限的客户端可以对 WebDAV 目录进行写入操作,因此对允许哪些客户端访问目录进行控制向来都很重要。为了帮助您控制访问权限,IIS 已内置了对 Kerberos 5 身份验证协议的支持,从而增强了集成 Windows 身份验证的功能。选择集成 Windows 身份验证,可以确保只有具有权限的客户端才可访问 Intranet 上的 WebDAV 目录,并对它进行写入操作。有关 Kerberos 5 身份验证协议如何与 IIS 集成 Windows 身份验证协作的详细信息,请参阅集成 Windows 身份验证。有关 Kerberos 协议工作原理的总体信息,请参阅 Windows XP 文档中的“Kerberos v5 身份验证”。 
  另外,IIS 还支持摘要式身份验证和高级摘要式身份验证。摘要式身份验证和高级摘要式身份验证是针对 Windows 域服务器创建的,为密码和通过 Internet 传输信息提供了更严格的安全性措施。有关摘要式身份验证的信息,请参阅摘要式身份验证和配置摘要式身份验证。有关高级摘要式身份验证的信息,请参阅高级摘要式身份验证和配置高级摘要式身份验证。

WebDAV的优势 

  由于 Web 已经成为 Internet 的基础,因此 HTTP 1.1(超文本传送协议)被证实是用来传输数据的非常灵活的通用协议。 但是,HTTP 存在一些明显的缺点,从而限制了它作为综合的 Internet 通讯协议而被采用: 它非常适合用于查看的静态文档,但不能提供以足够复杂(以便向客户端提供丰富的创作功能)的方式来处理文档的方法。 
  例如,当两个作者在未进行交流的情况下同时对一个文档进行更改时,就会出现“更新丢失”问题。 只有由最后一个作者完成、并将修改后的文档重新上载到服务器的修改才会保留下来,另一个作者进行的更改将丢失。 
  IETF WebDAV 工作组的目标是,设计一个协议,它提供基于标准的论坛中任何分布式创作工具需要的功能。 当前的 WebDAV 规范 (IETF RFC 2518) 解决协作式创作工具的三个主要问题: 
  · 改写保护。HTTP 1.1 无法确保客户端可以保护资源,并且可以在其他客户端同时编辑它们的情况下进行更改。 使用 WebDAV,可以通过多种方式来锁定资源,以便让其他客户端知道您对所讨论的资源感兴趣,或者防止其他客户端访问该资源。 
  · 资源管理。HTTP 只能直接访问单个资源。 WebDAV 提供一种更有效地组织数据的方法。 WebDAV 引入了可包含资源 的集合(类似于文件系统文件夹)概念。 通过 WebDAV 进行的资源管理包括如下功能:创建、移动、复制和删除集合,以及集合中的资源或文件。 
  · 文档属性。不同类型的数据具有唯一的属性,这有助于描述数据。 例如,在电子邮件中,这些属性可能是发件人的姓名和接收邮件的时间。 在协作文档中,这些属性可能是文档原始作者的姓名和最后一个编辑者的姓名。 因为人们使用的文档类型各不相同,所以可能的属性类型列表也变得无限大。 XML 是 WebDAV 所需的一种可扩展通讯工具。

WebDAV 请求的格式

  HTTP 1.1(请参阅 IETF RFC 2068)提供一组可供客户端与服务器通讯的方法,并指定响应(从服务器返回发出请求的客户端)的格式。 WebDAV 完全采用此规范中的所有方法,扩展其中的一些方法,并引入了其他可提供所描述功能的方法。 WebDAV 中使用的方法包括: 
  1.Options、Head 和 Trace。 
  主要由应用程序用来发现和跟踪服务器支持和网络行为。 
  2.Get。 
  检索文档。 
  3.Put 和 Post。 
  将文档提交到服务器。 
  4.Delete。 
  销毁资源或集合。 
  5. Mkcol。 
  创建集合。 
  6.PropFind 和 PropPatch。 
  针对资源和集合检索和设置属性。 
  7.Copy 和 Move。 
  管理命名空间上下文中的集合和资源。 
  8. Lock 和 Unlock。 
  改写保护。 
  WebDAV 请求的一般结构遵循 HTTP 的格式, 
  并且由以下三个组件构成: 
  1. 方法。 声明由客户端执行的方法(上面描述的方法)。 
  2.标头。 描述有关如何完成此任务的指令。 
  3.主体(可选)。 定义用在该指令或其他指令中的数据,用以描述如何完成此方法。 
  在主体组件中,XML 成为整个 WebDAV 结构中的关键元素。

WebDAV被启用(转)的更多相关文章

  1. Confluence 6 的 WebDAV 客户端整合介绍

    WebDAV 允许用户通过一个 WebDAV 客户端来访问 Confluence.例如,微软 Windows 的 'My Network Places'.通过为访问的用户提供权限,这个用户可以在 Co ...

  2. nginx 模块讲解

    1. 通用配置选项: --prefix=<path>          指定Nginx的安装路径,所有其他的路径都要依赖于该选项 --sbin-path=<path>     ...

  3. nginx 编译安装时的编译参数说明(不建议看)

    https://www.cnblogs.com/wazy/p/8108824.html ./configure --user=www \ #worker进程运行用户 --group=www \ #wo ...

  4. nginx安装升级及配置详解

    1.简介 2.安装配置 3.配置文件介绍 4.启动.停止.平滑重启.升级 一.Nginx简介 Nginx(engine x)是俄罗斯人Igor Sysoev编写的一款高性能的http和反向代理服务器. ...

  5. SCCM2012安装、配置

    1.sql server2012,排序规则选择:SQL_Latin1_General_CP1_CI_AS1.扩展AD架构2.打开ad用户和计算机,高级--system 容器授予 sccm服务器 完全控 ...

  6. Nginx之configure选项

    1. 通用配置项 --prefix=<path>:Nginx 安装的根路径,所有其他的路径都要依赖于该选项. --sbin-path=<path>:指定 Nginx 二进制文件 ...

  7. Mac 启用http-dav功能(WebDAV服务器)

    启用Mac的WebDAV可以实现文件的上传以及Windows.Linux和Mac之间的数据互传. 客户端使用:windows下使用网上邻居 --> 添加一个网上邻居  --> 输入uplo ...

  8. IIS 启用CORS ,IISExpress 通过IP 访问

      在IIS 10中启用CORS: <system.webServer> <handlers> <remove name="OPTIONSVerbHandler ...

  9. iOS - Mac Apache WebDav 服务器配置

    前言 Apache 服务器: Web 服务器,可以支持各种脚本(PHP)的执行,目前世界上使用最为广泛的一种 Web 服务器 WebDav 服务器: 基于 http 协议的 "文件" ...

随机推荐

  1. pd的django个人博客教程----1:效果展示等

    开发环境同to do list 1:首页:localhost/pd/ 2:导航栏测试或者生活点入: 测试:localhost/category/?cid=1 3:点击文章后进入文章显示页面 e.g:进 ...

  2. 安装Node.js

    1.window下安装Node.js 安装git,方便使用命令行. 网址:http://www.git-scm.com/download/ 下载后直接安装即可 接着安装Node.js https:// ...

  3. Android之来历

    Android一词的本义指“机器人”,同时也是谷歌于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统.中间件.用户界面和应用 软件组成,号称是首个为移动终端打造的 ...

  4. C/C++中逗号表达式的用法

    代码: #include <cstdio> #include <iostream> using namespace std; int main(){ int t1,t2; t1 ...

  5. [Leetcode][048] Rotate Image 略详细 (Java)

    题目在这里 https://leetcode.com/problems/rotate-image/ [个人分析] 这个题目,我觉得就是考察基本功.考察细心的,算法方面没有太多东西,但是对于坐标的使用有 ...

  6. 3月6日 c#语言

    语言基础 一.输入与输出 1.Main函数: static void Main(string [] args) { }程序代码需要写在Main函数的花括号内. 2.输出: Console.Write( ...

  7. 编写自己的javascript功能库之Ajax(仿jquery方式)

    本人学习的是php,所以就用php跟js来演示代码了,主要是锻炼自己写js的能力,练练手而已. 下面这是我编写的操作ajax的代码功能,勉强让我称之为库吧.. js代码实例(tool.ajax.js) ...

  8. php对象中类的继承性访问类型控制

    类型的访问控制通过使用修饰符允许开发人员对类中成员的访问进行限制.这是PHP5的新特性,也是OOP语言中的重要特性,大多数OOP语言都已支持此特性.PHP5支持如下三种访问修饰符,在类的封装中我们已经 ...

  9. 百度PHP实习一面面试题-算法-二维有序矩阵的查找

    题目描述 有一个二维矩阵,每一行的元素,从左到右保持严格递增,每一列的元素,从上到下保持严格递增.查找给定元素elem,返回NULL或元素位置. 1 3 7 15 16 2 5 8 17 19 3 6 ...

  10. python学习第十五天 -面向对象之继承和多态

    大家都知道面向对象的三大特性:封装,继承,多态.封装特性在上一章节已经讲解过.这一章节主要讲解继承和多态. 继承: 当定义一个类的时候,可以从现有的类进行继承.那么新定义的类可以称为子类,被继承的现有 ...