看资深程序员是如果玩Python的!利用Python实现 FTP弱口令扫描器

看资深程序员是如果玩Python的!利用Python实现 FTP弱口令扫描器

 

看资深程序员是如果玩Python的!利用Python实现 FTP弱口令扫描器

 

看资深程序员是如果玩Python的!利用Python实现 FTP弱口令扫描器

 

二、 理论基础

以下内容整理自百度百科,参考链接:

  • 百度百科-FTP服务器

2.1 FTP服务器

FTP服务器(File Transfer Protocol Server)是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务。 FTP是File Transfer Protocol(文件传输协议)。顾名思义,就是专门用来传输文件的协议。简单地说,支持FTP协议的服务器就是FTP服务器。

看资深程序员是如果玩Python的!利用Python实现 FTP弱口令扫描器

 

FTP是仅基于TCP的服务,不支持UDP。与众不同的是FTP使用2个端口,一个数据端口和一个命令端口(也可叫做控制端口)。通常来说这两个端口是21(命令端口)和20(数据端口)。但FTP 工作方式的不同,数据端口并不总是20。这就是主动与被动FTP的最大不同之处。主要有两种工作模式:

  • 主动FTP
看资深程序员是如果玩Python的!利用Python实现 FTP弱口令扫描器

 

扫描Ftp弱口令

Ftp弱口令扫描其实就是暴力破解,为何我们不称为暴力破解呢?因为我们只是扫描一些简单的密码组合,并不是所有可能得密码组合,而且我们也没有那么多时间去暴力破解,谁让我们活不了成千上万年呢!只是一个密码而已,弱口令扫不到就算了,天涯何处无芳草何必单恋一枝花呢!不过你要非喜欢这个Ftp服务器的话,以后我再教大家别的方法渗透服务器!

看资深程序员是如果玩Python的!利用Python实现 FTP弱口令扫描器

 

代码很简短,主要在注释中解释了代码的含义。这里说一下这个函数的思路,首先用主机名构造了一个Ftp对象(即ftp),然后用这个ftp调用不带任何参数的login()函数即表示要匿名登录这个Ftp服务器,如果登录过程中没有产生异常,则表明匿名登录成功,否则匿名登录失败!

3.2 Ftp弱口令的扫描

Ftp弱口令的扫描依赖于用户名和密码字典,我们的实验环境中会提供 pwd.txt 作为密码字典,字典的格式如下图所示:

看资深程序员是如果玩Python的!利用Python实现 FTP弱口令扫描器

 

看资深程序员是如果玩Python的!利用Python实现 FTP弱口令扫描器

 

3.3 命令行解析

至此我们的Ftp扫描器已经几乎完成了,代码并不多,也很简单。现在我们需要做的是让我们的脚本可以处理命令行输入,以控制扫描哪些主机。处理命令行参数我们将用到Python中的argparse库,这个库是Python中自带的模块,处理命令行将变得非常简单,下面我们一起见证一下argparse的强大之处,先上代码:

看资深程序员是如果玩Python的!利用Python实现 FTP弱口令扫描器

 

看资深程序员是如果玩Python的!利用Python实现 FTP弱口令扫描器

 

五、总结

本次课程实现了Ftp弱口令扫描器,主要用到以下知识点:

  1. Ftp服务器的基本概念使用ftplib如何一步一步的实现Ftp弱口令扫描器使用argparse解析命令行参数实验环境的搭建方法

进群:125240963  即可获取数十套PDF哦!

猜你喜欢

转载自www.cnblogs.com/PY1780/p/9264795.html