抱歉,如果这是题外话。我认为了解正在发生的事情可能会阐明 FTP 协议的性质和保护 FTP 服务器。基本上发生的事情是,我匿名登录了一个非匿名 FTP 服务器。当我使用常规模式(非匿名)登录时,它提示我输入用户名和密码。但是当我进行匿名登录时,它没有提示任何身份验证信息。它只是让我直接进入。不太奇怪;我的意思是,一些 FTP 服务器有身份验证模式和匿名模式。但我有点觉得我不应该这样做,因为我的会话看起来像这样:
bash-3.2$ ftp -a download.nvidia.com
Connected to 32940.ftp.download.akadns.net.
220 spftp/1.0.0000 Server [216.151.177.71]
331 Password required for USER.
230-
230- ---------------------------------------------------------------------------
230- WARNING: This is a restricted access system. If you do not have explicit
230- permission to access this system, please disconnect immediately!
230 ----------------------------------------------------------------------------
Remote system type is UNIX.
ftp> ls
227 Entering Passive Mode. (216,151,177,71,205,241)
150 Opening ASCII mode data connection for /.
drwxrwxr-x 1 1994 1994 0 Jun 20 19:11 CUDAOpen64
226 Transfer Complete
ftp> cd CUDAOpen64
250 CWD command successful.
ftp> ls
227 Entering Passive Mode. (216,151,177,71,234,111)
150 Opening ASCII mode data connection for /CUDAOpen64.
有点奇怪。看来他们要么没有妥善保护他们的服务器,要么他们做了,而我刚好进入了蜜罐。或者这只是 FTP 固有的弱点。我需要帮助来理解这一点。不,我不是在寻求有关如何进行黑帽黑客攻击的建议。我只是想了解发生了什么。
答案1
这是一个匿名 FTP 服务器。
匿名并不意味着“没有用户”或“空用户”,而是“匿名用户”,因为传递给 FTP 服务器的用户名是单词“anonymous”(有时是单词“ftp”)。Web 浏览器和 FTP 客户端会将用户名“anonymous”传递给 FTP 服务器,并使用密码(如“anon@localhost”)或类似密码。
如果您在客户端计算机上运行 tcpdump 或数据包捕获,您应该会看到传递给 FTP 服务器的用户名是单词“anonymous”或“ftp”,密码类似于我上面描述的密码。
这是我在 IE 中打开同一个 FTP 站点的数据包捕获。系统未提示我输入用户名和密码,但您可以看到 IE 已为我提供了这些内容。
Dreamhost 对此的解释如下:
匿名 FTP 是一种不需要唯一用户名和密码即可登录的 FTP 服务。任何用户都可以使用用户名“匿名”登录,通常使用他们的电子邮件地址作为密码。
微软对此的解释如下:
匿名用户通常使用 ftp 或 anonymous 用户名登录,大多数用户会使用其电子邮件地址作为密码。