From e16916dc9431fe5197ff49ffee1cbcb2427f5152 Mon Sep 17 00:00:00 2001 From: Jing Ling Date: Mon, 27 Apr 2020 12:50:09 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=B3=9B=E8=A7=A3=E6=9E=90?= =?UTF-8?q?=E6=8E=A2=E6=B5=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- oneforall/brute.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/oneforall/brute.py b/oneforall/brute.py index b4c0f32..5df60dd 100644 --- a/oneforall/brute.py +++ b/oneforall/brute.py @@ -26,7 +26,7 @@ from common.module import Module from config import logger -@tenacity.retry(reraise=True, stop=tenacity.stop_after_attempt(3)) +@tenacity.retry(stop=tenacity.stop_after_attempt(3)) def do_query_a(domain, resolver): try: answer = resolver.query(domain, 'A') @@ -75,9 +75,9 @@ def detect_wildcard(domain, authoritative_ns): resolver.cache = None try: wildcard = do_query_a(random_subdomain, resolver) - except Timeout as e: + except Exception as e: logger.log('DEBUG', e.args) - logger.log('ALERT', f'多次探测超时暂且认为{domain}没有使用泛解析') + logger.log('ALERT', f'多次探测出错暂且认为{domain}没有使用泛解析') return False else: return wildcard @@ -166,7 +166,7 @@ def query_domain_ns(domain): return ns -@tenacity.retry(reraise=True, stop=tenacity.stop_after_attempt(2)) +@tenacity.retry(stop=tenacity.stop_after_attempt(2)) def get_wildcard_record(domain, resolver): logger.log('INFOR', f'查询{domain}在权威DNS名称服务器的泛解析记录') try: @@ -205,15 +205,16 @@ def collect_wildcard_record(domain, authoritative_ns): resolver.rotate = True resolver.cache = None ips = set() + ttl = int() ips_stat = dict() while True: token = secrets.token_hex(4) random_subdomain = f'{token}.{domain}' try: ip, ttl = get_wildcard_record(random_subdomain, resolver) - except Timeout as e: + except Exception as e: logger.log('DEBUG', e.args) - logger.log('ALERT', f'多次查询超时将尝试查询新的随机子域') + logger.log('ALERT', f'多次查询出错将尝试查询新的随机子域') continue if ip is None: continue