在OWASP 2014(https://www.owasp.org/images/5/58/OWASP_ASVS_Version_2.pdf),我们有:
V 11.2(第31页):验证应用程序仅接受一组定义的HTTP请求方法,如GET和POST和未使用的方法是明确阻止。
这是否意味着我们不能使用非标准的HTTP方法?如果是的话,我们可以说,WebDAV不符合OWASP ASVS标准?如果答案是否定的,没有任何正式的文件,博客文章或者这个的问题吗?
我看了这个问题的方法是,只要你确定你接受并阻止一切该请求方法,你可以使用任何你想要的方法。
仅定义了一组
是不一样的,你不能使用非标准的,如果你不使用POST,你应该明确地阻止POST说,例如
如GET和POST
这里GET和POST方法,可用的方法不是一个完整的列表的例子。
因此,使用与您的需求,适合的方法,但是验证应用程序不接受任何要求不接受请求的列表
简单的回答是NO!我问安德鲁·范德股票的OWASP ASVS项目负责人。这是我的问题:
亲爱的OWASP ASVS项目负责人(丹尼尔&Vanderaj)
我想知道,如果OWASP ASVS 2014 1级迫使我们只使用标准的HTTP方法(GET,HEAD,POST,PUT,DELETE,CONNECT,OPTIONS,TRACE),或者我们也可以使用非标准化的HTTP方法吗? (由像什么的WebDav(https://en.wikipedia文档中列出。组织/维基/ WebDAV的)也)
尊重地
他回答我:
我认为,主要驱动力是不是担心该方法是可用的,但如果是必要的和安全的配置。
从本质上讲,我们要求:所有方法都默认拒绝除:正一套允许的方法,所有这些方法都正确,安全地配置
例如,期权和HEAD是基于Chrome需要在AngularJS和其他应用程序做飞行前检查CORS,和许多应用程序需要PUT和DELETE。因此,这些方法是必要的。如果您使用的新方法,如“示例”,这个想法是,你不也接受任何其他的词,如“荒谬”和“示例”正确配置是安全的。
所以,如果WebDAV是也无论出于何种原因启用,以确保它是适当的保护是非常重要的。有可能是一个坚实的理由为它存在(例如的SharePoint),但允许匿名用户覆盖您的网站或改变的东西是不行的。
谢谢,安德鲁