点击此界面右下角第一个图标,即可查看本篇文章的目录结构。该目录会显示在文章右侧。
先创建实例:
问题是:3 个字母的首字母缩写词 FTP 代表什么?
FTP是文件传输协议的简写。
FTP文件传输协议(File Transfer Protocol)是用于在网络上进行文件传输的一套标准协议,它工作在OSI 模型的第七层,TCP 模型的第四层—————应用层,FTP使用TCP传输而不是UDP传输,它有两个开放端口,一个是控制端口,一般为21,一个是数据端口,主动模式为20,也可以由客户端和服务器商议协定,而sftp则是相较于 ftp 更为安全的版本。
此处的答案是:File Transfer Protocol
问题是:FTP服务通常监听哪个端口?
FTP监听的TCP端口号为21,监听的数据端口为20。
此处的答案是:21
问题是:FTP 的安全版本使用什么首字母缩写词?
FTP的安全版本是 安全文件传输协议,即Secure File Transfer Protocol,缩写为SFTP。
此处的答案是:SFTP
问题是:我们使用什么工具通过 ICMP 回显请求测试与目标的连接?
ICMP(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。
此处的答案为:ping
问题是:根据您的扫描,目标上运行的 FTP 版本是什么?
在kali中打开终端terminal,输入命令:
nmap -A 10.129.44.18 //也可以使用nmap -sV命令,-sV即server Version,可用来探测打开端口对应服务的版本信息
出现以下界面:
从扫描结果 我们可以获取以下信息:
1.目标机器使用的ftp版本为vsftpd 3.0.3;
2.目标机器的FTP服务允许匿名登录,使用anonymous账户 密码为空,可登陆该目标机器FTP;
3.目标机器的操作系统信息为:Unix 操作系统
此处的答案为:vsftpd 3.0.3
问题是:根据您的扫描,目标上正在运行什么操作系统类型?
根据上文扫描结果,可知目标机器的操作系统为:Unix。
此处的答案为:Unix
问题是:为了显示“ftp”客户端帮助菜单,我们需要运行什么命令?
此处的答案为:ftp -h
问题是:当您想在没有帐户的情况下登录时,通过 FTP 使用的用户名是什么?
由上文的扫描结果可知,该机器的FTP允许匿名登录。
此处的答案为:anonymous
由上文的扫描结果可知,目标机器的FTP服务存有文件flag.txt,我们需要获取这个txt(通常我们想渗透一个ftp服务的话,可以查一下目标的ftp版本有什么现成漏洞,看看有什么poc可以利用)。
输入命令:
ftp 10.129.44.18
使用账户anonymous匿名登录FTP服务(密码为空,按回车键即可,连接成功后,如果想知道当前控制台支持哪些命令的话,可以输入?查看),此处输入ls命令 列出FTP上已有的文件:
ls
可以看到有一个flag.txt文件,使用get命令下载该txt(如果是多个文件下载,使用命令mget),文件会被下载到 当前终端环境所处的目录下(使用命令pwd可查看当前路径):
get flag.txt
然后输入命令退出FTP服务:
bye
接着使用ls命令查看本地文件,确认是否成功下载到flag.txt,最后使用cat命令查看flag.txt内容即可:
ls
cat flag.txt
提交flag,成功通关!!
FTP服务是一个客户端/服务器通信模型( Client-Server Model),流行的一种GUI FTP程序的名称为fileZilla。
在Linux的终端环境下,可以通过ftp+IP/域名的形式来连接FTP服务的默认21端口,此时需要输入账号密码验证,可以尝试默认口令登录,账户ftp/密码ftp;或者尝试匿名登录,输入账户anonymous 密码为空即可,windows 同理。
登录FTP服务后,单文件下载使用 get,多文件下载可以用 mget;上传文件使用put/send 命令,多文件上传使用mput,当然,此处目标机器的FTP服务是不允许上传文件的,因为没有对应的权限。
除了命令行,还有一些图形化工具,比如 FileZilla,输入连接信息,会自动列出文件目录,直接就能看到flag.txt,右键可以选择下载或查看,如果选择下载,文件会传输到我们本地机器上,直接在本地打开查看即可。