禁用WebDAV-tomcat

     由于要处理一份关于公司的一个公众用户网站安全扫描中可能存在的安全性问题。需要禁用WebDAV,或者说是对http中的一些方法的禁用。

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

      HTTP/1.1协议中共定义了八种方法(有时也叫“动作”)来表明Request-URI指定的资源的不同操作方式:

  OPTIONS 返回服务器针对特定资源所支持的HTTP请求方法。也可以利用向Web服务器发送'*'的请求来测试服务器的功能性。 

  HEAD 向服务器索要与GET请求相一致的响应,只不过响应体将不会被返回。这一方法可以在不必传输整个响应内容的情况下,就可以获取包含在响应消息头中的元信息。 

  GET 向特定的资源发出请求。注意:GET方法不应当被用于产生“副作用”的操作中,例如在web app.中。其中一个原因是GET可能会被网络蜘蛛等随意访问。 

  POST 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。 

  PUT 向指定资源位置上传其最新内容。 

  DELETE 请求服务器删除Request-URI所标识的资源。 

  TRACE 回显服务器收到的请求,主要用于测试或诊断。 

  CONNECT HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。 

  方法名称是区分大小写的。当某个请求所针对的资源不支持对应的请求方法的时候,服务器应当返回状态码405(Method Not Allowed);当服务器不认识或者不支持对应的请求方法的时候,应当返回状态码501(Not Implemented)。 

  HTTP服务器至少应该实现GET和HEAD方法,其他方法都是可选的。当然,所有的方法支持的实现都应当符合下述的方法各自的语义定义。此外,除了上述方法,特定的HTTP服务器还能够扩展自定义的方法。

     http的访问中,一般常用的两个方法是:GET和POST。其实主要是针对DELETE等方法的禁用。有两种方式:

一、修改应用中的web.xml:

    第一步:修改web-app协议

     Xml代码     

     <?xml version="1.0" encoding="UTF-8"?>     

     <web-app xmlns="http://java.sun.com/xml/ns/j2ee"     

                      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"     

                      xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"     

                      version="2.4">  

  

    第二部:在应用程序的web.xml中添加如下的代码即可

    <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>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>  

也可以把GET和POST也加上测试效果。

二、修改tomcat中conf下的web.xml

     步骤同上。

 

修改应用中的web.xml就只针对本应用起作用,修改tomcat中的web.xml就可以对启动在该tomcat下所有的应用起作用。

 

 

在未限制DELETE等方法前(即未做上述web.xml的内容的添加之前),测试http的DELETE方法的效果,方式如下:

第一步:

在Tomcat的web.xml 文件中配置org.apache.catalina.servlets.DefaultServlet的初始化参数

Java代码  

  1. <init-param>  
  2.     <param-name>readonly</param-name>  
  3.     <param-value>false</param-value>  
  4. </init-param>  

 

readonly参数默认是true,即不允许delete和put操作,所以默认的通过XMLHttpRequest对象的put或者delete方法访问就会报告 http 403 forbidden 错误。

 

第二步:

从客户端通过 Ajax XMLHTTPRequest 发起 DELETE/PUT 请求,利用AJAX的方式调用DELETE,

Java代码  

  1. <script type="text/javascript">  
  2. function getXMLHTTPRequest(){  
  3.     if (XMLHttpRequest)    {  
  4.         return new XMLHttpRequest();  
  5.     } else {  
  6.         try{  
  7.             return new ActiveXObject('Msxml2.XMLHTTP');  
  8.         }catch(e){  
  9.             return new ActiveXObject('Microsoft.XMLHTTP');  
  10.         }  
  11.     }  
  12. }  
  13. var req = getXMLHTTPRequest();  
  14. req.open('DELETE','http://localhost:8080/yours_web/test.html',false);  
  15. req.send(null);  
  16. document.write(req.responseText);  
  17.   
  18. </script>  

 document.write(req.responseText);这一句既是调用了Ajax,也是将删除的test.html返回回来,如果删除成功,那么应该看到的是404的效果。

 

 

 

另外对于web.xml配置参数的说明可参考:

http://www.blogjava.net/baoyaer/articles/107428.html

 

对于http深入了解可以参考:

http://blog.csdn.net/lyq5655779/article/details/7515284

时间: 2024-12-08 01:00:06

禁用WebDAV-tomcat的相关文章

CVE-2017-12615/CVE-2017-12616:Tomcat信息泄漏和远程代码执行漏洞分析报告

一. 漏洞概述 2017年9月19日,Apache Tomcat官方确认并修复了两个高危漏洞,漏洞CVE编号:CVE-2017-12615和CVE-2017-12616,该漏洞受影响版本为7.0-7.80之间,官方评级为高危,在一定条件下,攻击者可以利用这两个漏洞,获取用户服务器上 JSP 文件的源代码,或是通过精心构造的攻击请求,向用户服务器上传恶意JSP文件,通过上传的 JSP 文件 ,可在用户服务器上执行任意代码,从而导致数据泄露或获取服务器权限,存在高安全风险. 二. 漏洞基本信息 漏洞

IIS6惊现WebDAV 漏洞攻击

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 美国计算机紧急反应组近日透露,上周发现的 IIS6 WebDAV 漏洞已经被用在攻击中,这个由计算机安全专家 Nikolaos Rangos 发现的漏洞可以通过一个伪造的 HTTP 请求,查看并上传文件到 IIS6 服务器,攻击利用了微软处理 Unicode token 过程中的漏洞. 微软在一份声明中表示,尚未听说此类攻击的发生,但他们正在

360提示服务器开启了WebDAV的关闭方法_服务器其它

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

微软IIS6漏洞:服务器敏感信息易被窃

近日,安全专家对使用微软Internet信息服务IIS 6的管理员发出警告,声称Web服务器很容易受到攻击并暴露出密码保护的文件和文件夹.据悉,基于 WebDAV协议的部分进程命令中存在这种漏洞.通过给Web地址添加一些Unicode字符,黑客就可以访问这些敏感文件--这些文件一般 都有系统密码保护.另外,该漏洞也可以被用来给服务器上传恶意文件. Nikolaos Rangos安全研究员表示,"Web服务器在解析和发回数据的时候,不能正确地处理unicode令牌."美国计算机应急准备小

给WIN2003 IIS SQL服务器安全加固_网络冲浪

    1. 将<systemroot>\System32\cmd.exe转移到其他目录或更名:     2. 系统帐号尽量少,更改默认帐户名(如Administrator)和描述,密码尽量复杂:     3. 拒绝通过网络访问该计算机(匿名登录:内置管理员帐户:Support_388945a0:Guest:所有非操作系统服务帐户)     4. 建议对一般用户只给予读取权限,而只给管理员和System以完全控制权限,但这样做有可能使某些正常的脚本程序不能执行,或者某些需要写的操作不能完成,这

大学里的服务器被IIS漏洞攻击拉下马

5月20日报道IIS6出现 WebDAV漏洞,今日国外媒体就报道已经有黑客利用此漏洞将美国印第安纳州立巴尔大学的服务器攻破了.黑客们没有浪费一点点时间,因为公布漏洞与利用漏洞的时间都是周一,仅仅相差几个小时.截止到当地时间周二,该大学的服务器仍旧未修复成功, 预计到周四或者周五才能完全修复. 美国计算机紧急反应组近日透露,上周发现的 IIS6 WebDAV 漏洞已经被用在攻击中,这个由计算机安全专家 Nikolaos Rangos 发现的漏洞可以通过一个伪造的 HTTP 请求,查看并上传文件到

IIS 6.0曝远程代码执行漏洞 安全狗可拦截

IIS 6.0 被曝出远程 0day,目前已经出现远程利用代码,针对 windows server 2003可以稳定利用,可以远程执行任意代码. 据报告称去年七月起就有攻击者开始利用.建议大家通过扫描检查相关业务系统,并增加 waf 规则或禁用 webdav 特性. 漏洞描述:微软方面也已经确认了该漏洞:Windows Server 2003R2版本IIS6.0的WebDAV服务中的ScStoragePathFromUrl函数存在缓存区溢出漏洞,远程攻击者通过以"If:由于开启WebDAV服务就

研究人员发现了一个影响约60万台服务器的零日漏洞

华南理工大学信息安全实验室的两位研究人员已经发现了 Windows Server 操作系统中的某个零日漏洞.这枚零日漏洞至少影响了超过60万台服务器且大多数位于中国和美国,而且自 2016年7月这枚漏洞就被利用.出现问题的原因在于WebDAV服务中缓冲区溢出,攻击者可以直接利用这个漏洞执行远程代码从而发起攻击. 受影响的主要是服务器系统Windows Server 2003 R2版,非常遗憾的是这个系统早在2015年就已停止支持.这意味着虽然安全研究人员发现了这枚漏洞,但该系统的开发商即微软公司

微软拒绝修复60万台 Windows 2003 Web服务器安全漏洞

启用了WebDAV的 Windows Server 2003 机器遭遇安全漏洞影响 接入互联网的约60万台 Windows Server 2003 机器上存在 IIS 6.0 重大安全漏洞. 然而,微软发话称,不会发布补丁供用户防护该零日缓冲区溢出漏洞.相关技术报道参见:CVE-2017-7269 ( https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7269 ). 该漏洞存在于微软Web服务器 IIS 6.0 的网页分布式创作与版本