检查原始测试响应的“Allow”头,并验证是否包含下列一个或多个不需要的选项:DELTE,SEARCE,COPY,MOVE,PROPFIND,PROPPATCH,MKCOL,LOCK,UNLOCK,PUT
在所有的HTTP方法中,认为PUT、DELETE、TRACE是不安全的,另外WebDAV中的几个方法,RFC 5789中的PATCH方法也被认为是不安全的。(TRACE容易引发XST攻击,PATCH修改资源的部分内容,PUT/DELETE没有认证机制等原因,不仅仅因为它们会产生结果)
PUT:由于PUT方法自身不带验证机制,利用PUT方法可以向服务器上传文件,所以恶意攻击者可以上传木马等恶意文件。
DELETE:利用DELETE方法可以删除服务器上特定的资源文件,造成恶意攻击。
OPTIONS:将会造成服务器信息暴露,如中间件版本、支持的HTTP方法等。
TRACE:可以回显服务器收到的请求,主要用于测试或诊断,一般都会存在反射型跨站漏洞
不是每一个方法都可用,需要手动测试每一个方法,确认其是否可用。
TRACE方法验证:将OPTIONS方法修改为TRACE方法试试,如果响应包主体中包含接收到的请求,则证明支持TRACE方法,系统存在漏洞。发现服务器报错,证明并不支持TRACE方法。(不支持一般会报405)。
在验证PUT和DELETE的时候,不要在原有资源上进行操作,一定要指定一个不存在的资源,比如先PUT一个文件上去,然后DELETE刚才创建的文件,只要证明支持不安全的HTTP方法即可。PUT还可以和WebDAV扩展中的COPY/MOVE配合,PUT上传文件,COPY/MOVE修改文件位置和类型。
风险等级:低风险(具体风险视通过不安全的HTTP请求能获得哪些信息)
修订建议:
富贵论坛www.fgba.net因为服务器不需要支持WebDAV,所以禁用了它,要注意在不需要的情况下请务必禁用或禁止不必要的HTTP 方法,只留下GET、POST方法。