首页 -> 安全研究

安全研究

安全漏洞
OpenVMS WASD HTTP服务程序多个远程漏洞

发布日期:2002-09-26
更新日期:2002-09-30

受影响系统:
WASD WASD HTTP Server 8.0
WASD WASD HTTP Server 7.2.3
WASD WASD HTTP Server 7.2.2
WASD WASD HTTP Server 7.2.1
WASD WASD HTTP Server 7.2
WASD WASD HTTP Server 7.1
不受影响系统:
WASD WASD HTTP Server 8.1
WASD WASD HTTP Server 8.0.1
WASD WASD HTTP Server 7.2.4
描述:
BUGTRAQ  ID: 5811
CVE(CAN) ID: CVE-2002-1825

WASD VMS超文本服务是一款使用在OpenVMS系统上流行的HTTP服务程序。

WASD HTTP服务程序存在多个漏洞,远程攻击者可以利用这些漏洞进行访问系统文件,获得系统敏感信息,以SYSTEM权限执行任意指令等攻击。

* 默认情况下"Tree"内部脚本允许生成目录树,通过提交 http://webserver/tree/ 请求,可以获得整个目录树。提交统配符'*.*'可导致获得全部文件信息。

(相关文档:http://wasd.vsm.com.au/ht_root/doc/env/env_0400.html#43 )

* 默认情况下,向WASD HTTP服务程序提交类似如下的请求,可以造成目录遍历攻击:

http://webserver/dirname/*.*

(相关文档:http://wasd.vsm.com.au/ht_root/doc/env/env_0400.html )

* upd脚本存在目录遍历漏洞,提交http://webserver/upd/dirname/请求可以泄露当前文件信息。(相关文档:http://wasd.vsm.com.au/httpd/-/updhelp.html )

* WASD HTTP服务程序存在多个搜索脚本,可以用来搜索所有文档。(相关文档:http://wasd.vsm.com.au/ht_root/doc/env/env_0700.html#97 )

* 默认情况下server root可访问,系统中文档目录就是服务程序主ROOT目录,包含多个配置文件,脚本,可执行文件,直接访问这些文件可以获得环境变量信息,配置等敏感信息。(相关文档:http://wasd.vsm.com.au/ht_root/doc/htd/htd_0600.html#98 )

* 系统访问控制规则可以很容易的绕过。

  如httpd$map.conf配置文件包含如下:
  
  pass /ht_root/wwwroot*
  fail /ht_root/*
  fail /-/*

  在上面这种情况下,服务程序主目录是ht_root,而文档目录是WWWROOT。"fail"规则可以通过如下访问绕过:
  
  http://theserver/ht_root/wwwroot/-/*.*

* 文档ROOT位置容易判别:

  文档ROOT位置可以方便的通过"where"脚本获得(相关文档:http://wasd.vsm.com.au/ht_root/doc/htd/htd_2100.html#364 )
  即使"where"脚本没有启用,"404 not found"错误页面提供的消息也会返回文档ROOT位置。错误页面会返回包含如下类似的信息:
  
  <!-- sts: %X00018292 "$1$DUA2:[HT_ROOT.][WWWROOT]NOTFOUND" -->

* 全部WEB配置文件可以方便的获得:

  Web服务程序配置信息存放在ht_root/local/httpd$map.conf文件中,一般由如下规则保护:
  
  fail /ht_root/local/*
  
  但是可以通过如下方法绕过获得配置文件信息:
  
  http://theserver/ht_root/wwwroot/-/local/httpd$map.conf

  在一台机器上测试,既然没有"fail"规则,配置文件可以通过如下方法获得:
  
  http://theserver/local/httpd$map.conf

* 所有WEB服务程序LOG可以方便获得:

  如果配置文件中设置如下规则:
  
  fail /ht_root/log/*

  可以通过如下请求获得日志信息:
  
  http://theserver/upd/ht_root/src/-/log/
      
  如果日志由ACLs保护,但你有系统上一个合法用户帐户,可以通过如下方法获得:
  
  $ show log HTTPD80$REQUEST
      "HTTPD80$REQUEST" = "08 11:56:42.200.430.5287.0.9000.http://theserver:
       80.ip.address.of.caller.GET /filename"

* "tree"脚本可以显示隐藏的目录信息:

  服务程序日志一般存放在/ht_root/log/server/目录下,由于一般由"fail"规则保护,所以子目录一般都隐藏,不过通过"tree"脚本可以访问隐藏目录信息:
  
  http://theserver/tree/ht_root/

* CGI脚本列表可以方便的获得:

  通过提交 http://theserver/cgi-bin/*.* 访问不能获得CGI脚本列表,但是一般脚本都存放在ht_root/script/或者ht_root/script_local目录下,如果配置文件阻止这些目录访问,一般可以通过如下访问绕过限制获得CGI列表:
  
  http://theserver/ht_root/wwwroot/-/script_local/*.*

  各个用户的CGI脚本,可以运行URL:
  
  http://theserver/~username/cgi-bin/scriptname
  
  一般访问如下脚本会失败:
  
  http://theserver/~username/cgi-bin/*.*

  但是你可以通过提交如下请求获得CGI脚本列表:
  
  http://theserver/~username/xxx/-/cgi-bin/*.*
      
  http://theserver/~username/.../*.com?search=$

* CGI脚本源代码可以获得:

  通过上面方法获得CGI脚本列表,可以点击相关连接获得脚本源代码,一般情况下脚本连接如如下形式:
  
  http://theserver/ht_root/wwwroot/-/script_local/scriptname

* OpenVMS系统文件可以读取:

  部分站点中,配置规则设置如下,只允许访问选择性的系统部分文件:
  
  pass /sys$common/syslib/* /sys$common/syslib/*

  不过其他系统文件可以通过如下方法获得:
  
  http://theserver/sys$common/syslib/-/sysmgr/systartup_vms.com

* 用户HOME目录可以读取:

  一般用户目录映射为 http://theserver/~username/web/ ,如果OpenVMS保护和ACL设置不正确,可能可以以如下方法访问:
  
  http://theserver/~username/-/*.*

  不过有设置如下的映射规则会返回错误:
  
  pass /*/-/* /ht_root/runtime/*/*

  但是可以通过如下方法访问:
  
  http://theserver/~username/x/--/*.*

  这里“--”类似"../.."。
  

* 默认情况下CGI脚本可执行:

  默认情况下CGI脚本以http$server用户进程运行httpd.exe或者httpd_ssl.exe,这是个高权限用户,如果某个CGI脚本存在漏洞,可导致整个系统被控制。
  
* 默认CGI脚本存在多个漏洞:

  某个脚本如果在VMS ACL运行的情况下可以写任意文件内容到服务器上,这个漏洞可以导致获得SYSTEM权限。
  
  运行cgi_process.com程序,可以泄露大量系统相关信息给攻击者。

* PerlRTE_example1.pl脚本存在格式字符串漏洞,问题存在于printf ("$name=\"$ENV{$name}\"\n");调用上,这个$name变量由用户输入,但没有进行充分过滤。攻击者提供恶意格式串可导致覆盖内存任意地址,造成拒绝服务,或者执行任意代码。如http://wasd.vsm.com.au/plrte/PerlRTE_example1/%25x%25x%25x

* print.com CGI脚本可以打印任意文件:

  默认情况下print.com CGI脚本允许从远程打印文件到服务器上,不过这个脚本访问受IP限制如:
  
  $ HPRINTS_ALLOWED = "131.185.250.*"

任何这个IP地址范围内的用户可以打印任意文件,可能导致拒绝服务攻击。

<*来源:Jean-loup Gailly (jloup@gailly.net
  
  链接:http://marc.theaimsgroup.com/?l=bugtraq&m=103307640806862&w=2
*>

建议:
临时解决方法:

如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:

* 请参看http://wasd.vsm.com.au/ht_root/doc/htd/htd_0600.html#98文档安全配置WASD HTTP服务程序。

厂商补丁:

WASD
----
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

WASD WASD HTTP Server 7.1:
WASD WASD HTTP Server 7.2:

WASD Upgrade WASD 7.24 Fix Kit
http://wasd.vsm.com.au/wasd/

WASD WASD HTTP Server 7.2.1:

WASD Upgrade WASD 7.24 Fix Kit
http://wasd.vsm.com.au/wasd/

WASD WASD HTTP Server 7.2.2:

WASD Upgrade WASD 7.24 Fix Kit
http://wasd.vsm.com.au/wasd/

WASD WASD HTTP Server 7.2.3:

WASD Upgrade WASD 7.24 Fix Kit
http://wasd.vsm.com.au/wasd/

WASD WASD HTTP Server 8.0:

WASD Upgrade WASD 8.01 Fix Kit
http://wasd.vsm.com.au/wasd/

浏览次数:2962
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障