当前位置:   article > 正文

浅谈“不安全的HTTP方法”_不安全的http方法 ip+端口

不安全的http方法 ip+端口

漏洞名称:

不安全的HTTP方法、危险的HTTP方法

描述:

不安全的HTTP方法一般包括:TRACE、PUT、DELETE、COPY 等。其中最常见的为TRACE方法可以回显服务器收到的请求,主要用于测试或诊断,恶意攻击者可以利用该方法进行跨站跟踪攻击(即XST攻击),从而进行网站钓鱼、盗取管理员cookie等。 其他说明方式如图所示:

检测条件:

已知Web网站IP地址及Web访问端口

Web业务正常运行

检测方法:

  1. 点击“开始”-“运行”,输入cmd并回车,运行nc.exe
  2. 输入nc.exe –nvv IP 端口 (其中IP和端口按实际情况填写,用空格隔开)
  3. 回车
  4. 在新行中输入如下一行,并回车

OPTIONS / HTTP/1.1

     5.观察返回结果中的Allow的方法列表

返回结果样例:

HTTP/1.1 200 OK

Server: Apache-Coyote/1.1

X-Powered-By: Servlet 2.4; JBoss-4.0.5.GA (build: CVSTag=Branch_4_0 date=200610162339)/Tomcat-5.5

Allow: GET, HEAD, POST, PUT, DELETE, TRACE, OPTIONS

Content-Length: 0

Date: Mon, 29 Jun 2009 08:02:47 GMT

Connection: close

如果返回结果中包含不安全的HTTP方法(DELETE、PUT、TRACE、MOVE、COPY),则验证这些防范是否可用.

      6.如果方法可用则说明存在漏洞,如图所示为检测到的trace方法

由于不同的Web服务器支持的HTTP协议版本不同,如果系统不支持HTTP/1.0,那么步骤4返回“HTTP/1.0 400 Bad Request”;这种情况下,应该更改步骤4的输入行为OPTIONS / HTTP/1.1

 

(使用OPTIONS方法列出服务器使用的HTTP方法。注意,不同目录中激活的方法可能各不相同。

许多时候,被告知一些方法有效,但实际上它们并不能使用。有时,即使OPTIONS请求返回的响应中没有列出某个方法,但该方法仍然可用。

手动测试每一个方法,确认其是否可用。)

漏洞修复:

以下为针对不安全的HTTP方法中的TRACE相关的修复建议::

1.中间件为apache服务器

  1. 利用apache服务器的rewrite功能,对TRACE请求进行拦截。编辑httpd.conf文件增加下面内容:
  2. RewriteEngine On
  3. RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
  4. RewriteRule .* - [F]
  5. 更详细的解释如下:
  6. LoadModule rewrite_module modules/mod_rewrite.so # 首先,激活rewrite模块
  7. RewriteEngine On # 启用Rewrite引擎
  8. RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK) # 对Request中的Method字段进行匹配:^TRACE 即以TRACE字符串开头
  9. RewriteRule .* - [F] # 定义规则:对于所有格式的来源请求,均返回[F]-Forbidden响应。
  10. 对于1.3.34以上和2.0.55以上版本的apache服务器,配置文件增加:TraceEnable off
  11. 或者用如下方法:
  12. 在项目或tomcat下的web.xml中,添加如下配置:
  13. <!-- 关闭不安全的HTTP方法 -->
  14. <security-constraint>
  15. <web-resource-collection>
  16. <web-resource-name>任意名称</web-resource-name>
  17. <url-pattern>/*</url-pattern>
  18. <http-method>PUT</http-method>
  19. <http-method>DELETE</http-method>
  20. <http-method>HEAD</http-method>
  21. <http-method>OPTIONS</http-method>
  22. <http-method>TRACE</http-method>
  23. </web-resource-collection>
  24. <auth-constraint></auth-constraint>
  25. </security-constraint>
  26. <login-config>
  27. <auth-method>BASIC</auth-method>

2.中间件为Microsoft IIS

  1. 如果你使用的是Microsoft IIS, 使用URLScan工具禁用HTTP TRACE请求,
  2. 或者只开放满足站点需求和策略的方式。安装URLScan(URLScan是微软提供给IIS6的路径重定向工具,
  3. 在这里下载:
  4. http://www.iis.net/learn/extensions/working-with-urlscan/urlscan-3-reference),
  5. 在URLScan.ini中配置,只允许GET、HEAD和POST这三个常用命令(UseAllowVerbs=1)。

3.中间件为Sun ONE Web Server releases 6.0

  1. 如果你使用的是Sun ONE Web Server releases 6.0 SP2 或者更高的版本, 在obj.conf文件的默认object section里添加下面的语句:
  2. <Client method="TRACE">
  3. AuthTrans fn="set-variable"
  4. remove-headers="transfer-encoding"
  5. set-headers="content-length: -1"
  6. error="501"
  7. </Client>

4.Sun ONE Web Server releases 6.0 SP2

  1. 如果你使用的是Sun ONE Web Server releases 6.0 SP2 或者更低的版本, 编译如下地址的NSAPI插件:
  2. http://sunsolve.sun.com/pub-cgi/retrieve.pl?doc=fsalert%2F50603

 

其他补充:

暂无

 

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/601721
推荐阅读
相关标签
  

闽ICP备14008679号