python安全編程-字典生成器

在滲透測試中,咱們有時候會碰到拿到後臺登陸界面,並且沒有其餘漏洞能夠利用,只能暴力破解用戶名密碼,如今直接使用弱口令的網站較少了,常見的字典通常是沒法爆破成功,因此咱們要針對網站內容來生成對應字典,進一步提高爆破成功率。web

因此咱們來寫個小腳原本生成對應的字典測試

import exrex
import sys

web_white = ['com','cn','gov','www','edu','org']

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_dics = hosts.split('.')#將有用的東西去除,例如demo,webdic,放入字典生成的地方,生成字典
    #將核心的生成規則寫入配置文件,方便之後使用
    #能夠對生成密碼進行過濾
    f_rule = open('ruler.ini','r',encoding='UTF-8')
    for i in f_rule:
        if '#' in  i[0]:
            rule = i
    f_pass_out = open('pass_0.txt','r')
    f_pass_out.close()
    for web_dic in web_dics:
        if web_dic not in web_white:
            f_pass =open('123.txt','r')#打開密碼文件
            for dic_pass in f_pass:
                dics = list(exrex.generate( '{web_dic}[!@#]{dic_pass}'.format(web_dic = web_dic,dic_pass = dic_pass)))

                for dic in dics:
                    if len(dic) > 4:
                        f_pass_out =open('pass_1.txt','a+')
                        f_pass_out.write(dic ='\n')
                        f_pass_out.close()
                        print (dic)


#dic_creat(host_para('demo.123.com'))
if __name__ =='__main__':
    if len(sys.argv) == 2:
        dic_creat(host_para(sys.argv[1]))
        sys.exit(0)
    else:
        print('Usage: %s www.demo.com'%sys.argv[0])
        sys.exit(-1)

咱們主要使用了exrex模塊來生成字典,將全部可能都列舉到字典中,首先先作一個根據網站域名來生成對應字典,並和常見的弱口令結合來生成對應的字典。網站

將域名中提取出來的內容進行過濾,將符號等無用的東西去掉,並將核心的生成規則寫入配置文件,便於修改,後續再加入擴展功能。spa

相關文章
相關標籤/搜索