def __init__(self, target, process=None, coroutine=None, wordlist=None, recursive=False, depth=None, namelist=None, fuzz=False, rule=None, export=True, valid=None, format='csv', path=None, show=False): Module.__init__(self) self.domains = set() self.domain = str() self.module = 'Brute' self.source = 'AIOBrute' self.target = target self.process = process or utils.get_process_num() self.coroutine = coroutine or utils.get_coroutine_num() self.wordlist = wordlist or config.brute_wordlist_path self.recursive_brute = recursive or config.enable_recursive_brute self.recursive_depth = depth or config.brute_recursive_depth self.recursive_namelist = namelist or config.recursive_namelist_path self.fuzz = fuzz or config.enable_fuzz self.rule = rule or config.fuzz_rule self.export = export self.valid = valid self.format = format self.path = path self.show = show self.nameservers = config.resolver_nameservers self.ips_times = dict() # IP集合出现次数 self.enable_wildcard = False # 当前域名是否使用泛解析 self.wildcard_check = config.enable_wildcard_check self.wildcard_deal = config.enable_wildcard_deal self.wildcard_ips = set() # 泛解析IP集合 self.wildcard_ttl = int() # 泛解析TTL整型值
def __init__(self, target, process=None, concurrent=None, word=False, wordlist=None, recursive=False, depth=None, nextlist=None, fuzz=False, place=None, rule=None, export=True, alive=True, format='csv', path=None): Module.__init__(self) self.module = 'Brute' self.source = 'Brute' self.target = target self.process_num = process or utils.get_process_num() self.concurrent_num = concurrent or config.brute_concurrent_num self.word = word self.wordlist = wordlist or config.brute_wordlist_path self.recursive_brute = recursive or config.enable_recursive_brute self.recursive_depth = depth or config.brute_recursive_depth self.recursive_nextlist = nextlist or config.recursive_nextlist_path self.fuzz = fuzz or config.enable_fuzz self.place = place or config.fuzz_place self.rule = rule or config.fuzz_rule self.export = export self.alive = alive self.format = format self.path = path self.bulk = False # 是否是批量爆破场景 self.domains = list() # 待爆破的所有域名集合 self.domain = str() # 当前正在进行爆破的域名 self.ips_times = dict() # IP集合出现次数 self.enable_wildcard = False # 当前域名是否使用泛解析 self.wildcard_check = config.enable_wildcard_check self.wildcard_deal = config.enable_wildcard_deal self.check_env = True
async def run_aio_resolve(subdomain_list): """ 异步解析子域A记录 :param list subdomain_list: 待解析的子域列表 :return: 解析得到的结果列表 """ process_num = utils.get_process_num() coroutine_num = utils.get_coroutine_num() logger.log('INFOR', '正在异步查询子域的A记录') result_list = await aio_resolve(subdomain_list, process_num, coroutine_num) logger.log('INFOR', '完成异步查询子域的A记录') return result_list