前言
emmmm
高精度密码字典源码
1.py
import exrex import sys #url过滤处理 def host_para(host): if '://' in host: host=host.split('://')[1].replace('/',' ') if '/' in host: host=host.replace('/','') return host def dic_creat(hosts): web_white=['com','com','cn','gov','edu'] #后缀白名单 # web_dics=hosts.split('.')#将传进来的域名以.分割 f_rule=open('rule.ini','r')#引入配置文件 for i in f_rule: #将配置文件的值传给rule if '#' !=i[0]: rule=i #print(rule) f_pass_out=open('pass_1.txt','w')#打开pass1.txt文件如果没有则创建用于保存生成的字典 f_pass_out.close for web_dic in web_dics: #if web_dic not in web_white: #过滤后缀.com之类 f_pass=open('pass_0.txt','r') for dic_pass in f_pass: print(dic_pass) dics = list(exrex.generate(rule.format(web_dic=web_dic,dic_pass=dic_pass.strip(' ')))) for dic in dics: if len(dic)>4: f_pass_out=open('pass_1.txt','a+') f_pass_out.write(dic) f_pass_out.close() print dic # # #dic_creat(host_para('http://baidu.com/')) if __name__=='__main__': if len(sys.argv)==2: dic_creat(host_para(host_para(sys.argv[1]))) sys.exit(0) else: print("11")
rule.ini
rule.ini是字典生成程序配置文件
配置的规则如"{web_dic}{!@#}{dic_pass}其中{web_dic}代表host中可能的字典元素,{dic_pass}代表密码母本中的密码
(|{web_dic})(|!|@|#)(|{dic_pass})(|!|@|#)(|201[4567])
pass_0.txt
使用方法
使用方法:
pass_0.txt是配合社工的文件 比如你社工到了这个网站的站长姓名叫王小明 那你可以添加wangxiaoming进入配合组建高精度密码字典
python 1.py http://baidu.com/ 即可组建高精度密码字典 查看当前目录下pass_1.txt即可获得。
参考学习:网易云python安全编程