python安全工具开发_1

1.简介

在渗透测试中往往需要一个具有目标性的字典来对目标进行爆破,那么生成一个高精度字典是一个必要工具。

首先安装必要python模块,exrex

描述:正则表达式上的不规则方法。exrex是一个命令行工具和python模块,它生成与给定正则表达式等匹配的所有或随机字符串。它是纯Python,没有外部依赖关系。

2.步骤

(1)先对目标网站地址进行处理

(2)将网站重要信息与已有的密码母本相结合,生成密码本,以下为原代码



​#encoding='utf-8'
import exrex,sys
#传入单个host,demo.webdic.com==>http://demo.webdic.com==>https://demo.webdic.com==>http://demo.webdic.com/==>那么demo,webdic可能作为字典的一部分
web_white = ['com','cn','gov','edu','org','www']
def host_para(host):
    #对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('E:\\code\\python code\\python安全开发\\rule.ini','r')
    for i in f_rule:
        if '#' != i[0]:
            rule = i

    f_pass_out = open('pass_1.txt','w')
    f_pass_out.close()

    for web_dic in web_dics:
        if web_dic not in web_white:
            f_pass = open('E:\code\python code\python安全开发\pass_0.txt','r')
            for dic_pass in f_pass:
                dics = list(exrex.generate(rule.format(web_dic=web_dic,dic_pass=dic_pass.strip('\n'))))
                
                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.webdic.com'))
if __name__=='__main__':
    if len(sys.argv) ==2:
        dic_creat(host_para(sys.argv[1]))
        sys.exit()
    
    else:
        print ("Usage:%s www.demo.com"%sys.argv[0])
        sys.exit(-1)

这是已有的密码母本rule.ini

#这是字典生成程序的配置文件

#配置的规则比如{web_dic}[!@#]{dic_pass}其中{web_dic}代表host中可能的字典元素,{dic_pass}代表密码母本中的密码

(|{web_dic})([!|@|#])(|{dic_pass})

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值