验证启用了不安全的HTTP方法
2016-12-13 13:55
876 查看
安全风险:
可能会在Web 服务器上上载、修改或删除Web 页面、脚本和文件。
可能原因:
Web 服务器或应用程序服务器是以不安全的方式配置的。
修订建议:
如果服务器不需要支持WebDAV,请务必禁用它,或禁止不必要的HTTP 方法。
方法简介:
除标准的GET和POST方法外,HTTP请求还使用其他各种方法。许多这类方法主要用于完成不常见与特殊的任务。如果低权限用户可以访问这些方法,他们就能够以此向应用程序实施有效攻击。以下是一些值得注意的方法:
其中几个方法属于HTTP协议的WebDAV(Web-based Distributed Authoring and Versioning)扩展。
渗透测试步骤:
使用OPTIONS方法列出服务器使用的HTTP方法。注意,不同目录中激活的方法可能各不相同。
许多时候,被告知一些方法有效,但实际上它们并不能使用。有时,即使OPTIONS请求返回的响应中没有列出某个方法,但该方法仍然可用。
手动测试每一个方法,确认其是否可用。
使用curl测试:
curl -v -X OPTIONS http://www.example.com/test/
查看响应的 Allow: GET, HEAD, POST, PUT, DELETE, OPTIONS
curl -v -T test.html http://www.example.com/test/test.html
看是否能上载来判断攻击是否生效。
找一个存在的页面,如test2.html
curl -X DELETE http://www.example.com/test/test2.html
如果删除成功,则攻击有效。
解决方案:
如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下所有的应用有效。
可能会在Web 服务器上上载、修改或删除Web 页面、脚本和文件。
可能原因:
Web 服务器或应用程序服务器是以不安全的方式配置的。
修订建议:
如果服务器不需要支持WebDAV,请务必禁用它,或禁止不必要的HTTP 方法。
方法简介:
除标准的GET和POST方法外,HTTP请求还使用其他各种方法。许多这类方法主要用于完成不常见与特殊的任务。如果低权限用户可以访问这些方法,他们就能够以此向应用程序实施有效攻击。以下是一些值得注意的方法:
PUT | 向指定的目录上载文件 |
DELETE | 删除指定的资源 |
COPY | 将指定的资源复制到Destination消息头指定的位置 |
MOVE | 将指定的资源移动到Destination消息头指定的位置 |
SEARCH | 在一个目录路径中搜索资源 |
PROPFIND | 获取与指定资源有关的信息,如作者、大小与内容类型 |
TRACE | 在响应中返回服务器收到的原始请求 |
渗透测试步骤:
使用OPTIONS方法列出服务器使用的HTTP方法。注意,不同目录中激活的方法可能各不相同。
许多时候,被告知一些方法有效,但实际上它们并不能使用。有时,即使OPTIONS请求返回的响应中没有列出某个方法,但该方法仍然可用。
手动测试每一个方法,确认其是否可用。
使用curl测试:
curl -v -X OPTIONS http://www.example.com/test/
查看响应的 Allow: GET, HEAD, POST, PUT, DELETE, OPTIONS
curl -v -T test.html http://www.example.com/test/test.html
看是否能上载来判断攻击是否生效。
找一个存在的页面,如test2.html
curl -X DELETE http://www.example.com/test/test2.html
如果删除成功,则攻击有效。
解决方案:
如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下所有的应用有效。
相关文章推荐
- 启用了不安全的 HTTP 方法
- 《pro Spring》学习笔记之Spring HTTP 远程方法调用集成Tomcat实现安全验证
- 【AppScan深入浅出】修复漏洞:启用不安全的HTTP方法 (中)
- 启用了不安全的HTTP方法
- [轻微]WEB服务器启用了OPTIONS方法/如何禁止DELETE,PUT,OPTIONS等协议访问应用程序/tomcat下禁用不安全的http方法
- 启用了不安全的HTTP方法
- 启用不安全的HTTP方法解决办法IBM APPSCAN
- 【AppScan深入浅出】修复漏洞:启用不安全的HTTP方法 (中)
- tomcat的安全配置(禁用http方法,部署多个应用,启用从安全cookie,指定错误页面和显示信息)
- 启用了不安全的HTTP方法
- 回发或回调参数无效。在配置中使用 或在页面中使用 启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效并且是预期的,则使用 ClientScriptManager.RegisterForEventValidation 方法来注册回发或回调数据以进行验证。
- AppScan修复漏洞:启用不安全的HTTP方法
- 回发或回调参数无效。在配置中使用 或在页面中使用 启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效并且是预期的,则使用 ClientScriptManager.RegisterForEventValidation 方法来注册回发或回调数据以进行验证。
- 启用不安全的HTTP方法解决方案
- 启用了不安全的HTTP方法
- [轻微]WEB服务器启用了OPTIONS方法/如何禁止DELETE,PUT,OPTIONS等协议访问应用程序/tomcat下禁用不安全的http方法
- [轻微]WEB服务器启用了OPTIONS方法/如何禁止DELETE,PUT,OPTIONS等协议访问应用程序/tomcat下禁用不安全的http方法
- 启用不安全的HTTP方法解决方案
- 关于修复“启用了不安全的 HTTP 方法”
- 启用了不安全的HTTP方法解决办法 IBM APPSCAN