题目

目标系统通过Serv-U搭建了一个FTP服务。请尝试利用软件的漏洞获取目标服务器系统的FLAG.txt文件内的flag值并提交。

题目分析

1.FTP服务器
(1)定义:FTP服务器(File Transfer Protocol Server)是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务。 FTP是File Transfer Protocol(文件传输协议)。顾名思义,就是专门用来传输文件的协议。简单地说,支持FTP协议的服务器就是FTP服务器。
(2)软件种类:①Serv-U是一种被广泛运用的FTP服务器端软件,支持3x/9x/ME/NT/2K/2000/xp等全Windows系列。可以设定多个FTP服务器、限定登录用户的权限、登录主目录及空间大小等,功能非常完备。 它具有非常完备的安全特性,支持SSl FTP传输,支持在多个Serv-U和FTP客户端通过SSL加密连接保护您的数据安全等。

FileZilla:是一款经典的开源FTP解决方案,包括FileZilla客户端和FileZillaServer。其中,FileZillaServer的功能比起商业软件FTP Serv-U毫不逊色。无论是传输速度还是安全性方面,都是非常优秀的一款。

VsFTP:VSFTP是一个基于GPL发布的类Unix系统上使用的FTP服务器软件,它的全称是Very Secure FTP 从此名称可以看出来,编制者的初衷是代码的安全。

解题步骤

1.进入第一关,获得场景的IP地址

FTP服务器漏洞

2.打开场景

FTP服务器漏洞
从界面看出,搭建FTP服务器的软件商Serv-U,我们搜索一下看有没有关于它的漏洞

通过使用Serv-U,用户能够将任何一台PC 设置成一个FTP 服务器,这样,用户或其他使用者就能够使用FTP 协议,通过在同一网络上的任何一台PC与FTP 服务器连接,进行文件或目录的复制,移动,创建,和删除等。
但是它同样存在漏洞。部分版本的Serv-U软件存在目录遍历权限提升匿名登录等漏洞。

3。题目中没有给出任何用户名和密码相关信息,而我们此刻又正好发现了它可能具有匿名登录漏洞,尝试登录一下

FTP服务器漏洞

FTP服务器漏洞

4.使用anonymous可以匿名登录,现在在cmd命令行登录

FTP服务器漏洞

5.现在使用FTP服务器的下载命令

(1)使用ftp get命令下载目标场景c:\windows\system\FLAG.txt文件

FTP服务器漏洞

(2)打开当前目录下的FLAG.txt文件

FTP服务器漏洞

6.提交答案,获得FLAG值
7.补一波FTP常用命令
(1)下载文件:get nmap_file [nmap]

意思是把远程ftp服务器下的文件nmap_file下载到本地机器的当前目录下,名称更改为nmap。 带括号表示可写可不写,不写的话是以该文件名下载。

(2)上传文件:put/mput sample.c [ftp_sample.c]

意思是把本地机器当前目录下的文件smaple.c上传到远程ftp服务器的当前目录下,名称更改为ftp_sample.c。 带括号表示可写可不写,不写的话是以该文件名上传。

(3) FTP>open [ftpservername],和指定的远程Linux FTP服务器连接?

(4)FTP>user [username] [password],使用指定远程Linux FTP服务器的用户登录?

(5)FTP>pwd,显示远程Linux FTP服务器上的当前路径

(6)FTP>ls,列出远程Linux FTP服务器上当前路径下的目录和文件

(7)FTP>dir,列出远程Linux FTP服务器上当前路径下的目录和文件(同上)

(8)FTP>mkdir [foldname],在远程Linux FTP服务器上当前路径下建立指定目录

(9)FTP>rmdir [foldname],删除远程Linux FTP服务器上当前路径下的指定目录

(10)FTP>cd [foldname],更改远程Linux FTP服务器上的工作目录

(11)FTP>delete [filename],删除远程Linux FTP服务器上指定的文件

(12)FTP>rename [filename] [newfilename],重命名远程Linux FTP服务器上指定的文件

(13)FTP>close,从远程Linux FTP服务器断开但保留FTP命令参数提示

(14)FTP>disconnect,从远程Linux FTP服务器断开但保留FTP命令参数提示(同上)

(15)FTP>bye,结束和远程Linux FTP服务器的连接。

(16)FTP>quit,结束和远程Linux FTP服务器的连接(同上)

(17)FTP>!,直接从远程Linux FTP服务器进入到本地shell中

(18)FTP>exit,(接上步)从本地shell环境中返回到远程Linux FTP服务器环境下

(19)FTP>!ls,列出本地机器上当前路径下的目录和文件

(20)FTP>lcd [foldname],更改本地机器的工作目录

(21)FTP>?,显示ftp命令说明

(21)FTP>help,显示ftp命令说明(同上)

相关文章: