前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python编写渗透工具学习笔记一 | 0x08字典生成程序

Python编写渗透工具学习笔记一 | 0x08字典生成程序

作者头像
安恒网络空间安全讲武堂
发布2018-02-06 14:47:37
1.1K0
发布2018-02-06 14:47:37
举报
文章被收录于专栏:安恒网络空间安全讲武堂

0x08字典生成程序

这里主要用到了exrex模块,这个模块的主要功能是:

  • 生成所有匹配的字符串
  • 生成随机匹配的字符串
  • 计算匹配字符串的数量
  • 简化正则表达式

这里主要用到了这个模块的generate方法

generate(s,limit = 20)

  • 函数的作用:创建一个生成器,生成给定正则表达式的所有匹配字符串
  • 参数s:正则表达式
  • limit:范围限制,要求limit的类型为整型数
  • 返回一个字符串生成器对象

这里给两个个使用例子

例子一

结果

例子二

结果

实现思路:

根据web网站的url生成响应的密码字典文件,主要是通过规则进行匹配生成,大致思路为输入一个Web站点的URL,然后根据白名单过滤提取出该URL的中间部分,然后结合密码字典文件和时间等内容进行组合来生成字典

最后生成的密码字典会储存在pass_1.txt文件中

工具源码:

代码语言:js
复制
#!/usr/bin/python
#-*-coding:utf-8-*-
import exrex
import sys
'''

传入一个host,demo.webdic.com

那么deme,webdic都可能作为字典的一部分

代码语言:js
复制
'''
#白名单过滤掉url中的这些字串
web_white=['com','cn','gov','edu','org','www']
def host_para(host):
#对host进行分析,处理成我们想要的格式
#去掉http://和输入的url中的/
if '://' in host:
host=host.split('://')[1].replace('/','')
if '/' in host:
host=host.replace('/','')
return host
'''
#dics=list(exrex.generate(web_dic+'[!@#]'+dic_pass))
#为了将核心规则写入配置文件,
实现可以实时修改规则,使用以下定义方法
#dics=list(exrex.generate
('{web_dic}[!@#]{dic_pass}'.
format(web_dic=web_dic,dic_pass=dic_pass)))
'''
def dic_creat(hosts):
web_dics=hosts.split('.')
#取出有用的东西,如demo,webdic,
#放入字典生成的地方,生成字典
f_rule=open('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('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:
#只取长度大于4的密码
if len(dic) >4:
f_pass_out=open('pass_1.txt','a+')
f_pass_out.write(dic+'\n')
f_pass_out.close()
print dic
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)
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-12-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 恒星EDU 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档