From fc7a5353d9554d7107a6ee77264ee1427fc9ddbd Mon Sep 17 00:00:00 2001 From: Jing Ling Date: Mon, 11 May 2020 21:40:32 +0800 Subject: [PATCH] typos --- brute.py | 12 ++++++------ common/__init__.py | 1 - common/crawl.py | 2 +- common/database.py | 4 ++-- common/lookup.py | 2 +- common/module.py | 12 ++++++------ common/query.py | 2 +- common/request.py | 8 ++++---- common/resolve.py | 11 ++++++----- common/search.py | 1 - common/utils.py | 20 ++++++++++---------- dbexport.py | 2 +- modules/autotake/github.py | 14 +++++++------- takeover.py | 4 ++-- 14 files changed, 47 insertions(+), 48 deletions(-) delete mode 100644 common/__init__.py diff --git a/brute.py b/brute.py index 2b6344f..2733555 100644 --- a/brute.py +++ b/brute.py @@ -32,7 +32,7 @@ def do_query_a(domain, resolver): answer = resolver.query(domain, 'A') # If resolve random subdomain raise timeout error, try again except Timeout as e: - logger.log('ALERT', f'DNS resolve timeout, retrying...') + logger.log('ALERT', f'DNS resolve timeout, retrying') logger.log('DEBUG', e.args) raise tenacity.TryAgain # If resolve random subdomain raise NXDOMAIN, YXDOMAIN, NoAnswer, NoNameservers error @@ -47,7 +47,7 @@ def do_query_a(domain, resolver): exit(1) else: if answer.rrset is None: - logger.log('ALERT', f'DNS resolve dont have result, retrying...') + logger.log('ALERT', f'DNS resolve dont have result, retrying') raise tenacity.TryAgain ttl = answer.ttl name = answer.name @@ -309,7 +309,7 @@ def gen_records(items, records, subdomains, ip_times, wc_ips, wc_ttl): def stat_ip_times(result_paths): - logger.log('INFOR', f'Counting IP...') + logger.log('INFOR', f'Counting IP') times = dict() for result_path in result_paths: logger.log('DEBUG', f'Reading {result_path}') @@ -339,7 +339,7 @@ def stat_ip_times(result_paths): def deal_output(output_paths, ip_times, wildcard_ips, wildcard_ttl): - logger.log('INFOR', f'Processing result...') + logger.log('INFOR', f'Processing result') records = dict() # 用来记录所有域名解析数据 subdomains = list() # 用来保存所有通过有效性检查的子域 for output_path in output_paths: @@ -547,7 +547,7 @@ class Brute(Module): def main(self, domain): start = time.time() - logger.log('INFOR', f'Blasting {domain} ...') + logger.log('INFOR', f'Blasting {domain} ') massdns_dir = setting.third_party_dir.joinpath('massdns') result_dir = setting.result_save_dir temp_dir = result_dir.joinpath('temp') @@ -579,7 +579,7 @@ class Brute(Module): output_path = temp_dir.joinpath(output_name) log_path = result_dir.joinpath('massdns.log') check_dict() - + logger.log('INFOR', f'Running massdns to resolve subdomains') utils.call_massdns(massdns_path, dict_path, ns_path, output_path, log_path, quiet_mode=self.quite, process_num=self.process_num, diff --git a/common/__init__.py b/common/__init__.py deleted file mode 100644 index 9bad579..0000000 --- a/common/__init__.py +++ /dev/null @@ -1 +0,0 @@ -# coding=utf-8 diff --git a/common/crawl.py b/common/crawl.py index 6f0d35f..3041327 100644 --- a/common/crawl.py +++ b/common/crawl.py @@ -1,4 +1,4 @@ -from .module import Module +from common.module import Module class Crawl(Module): diff --git a/common/database.py b/common/database.py index fdf1dec..b01c3fd 100644 --- a/common/database.py +++ b/common/database.py @@ -24,7 +24,7 @@ class Database(object): :param db_path: Database path :return: db_conn: SQLite database connection """ - logger.log('TRACE', f'Establishing database connection...') + logger.log('TRACE', f'Establishing database connection') if isinstance(db_path, Connection): return db_path protocol = 'sqlite:///' @@ -94,7 +94,7 @@ class Database(object): :param str module_name: mo """ logger.log('TRACE', - f'Saving the subdomain results of {table_name} found by module {module_name} into database...') + f'Saving the subdomain results of {table_name} found by module {module_name} into database') table_name = table_name.replace('.', '_') if results: try: diff --git a/common/lookup.py b/common/lookup.py index 37bb281..3f8b20a 100644 --- a/common/lookup.py +++ b/common/lookup.py @@ -1,4 +1,4 @@ -from .module import Module +from common.module import Module from common import utils diff --git a/common/module.py b/common/module.py index 374b12a..0922190 100644 --- a/common/module.py +++ b/common/module.py @@ -11,8 +11,8 @@ import time import requests from config.log import logger from config import setting -from . import utils -from .domain import Domain +from common import utils +from common.domain import Domain from common.database import Database lock = threading.Lock() @@ -45,7 +45,7 @@ class Module(object): :return bool: check result """ if not all(apis): - logger.log('ALERT', f'{self.source} module is not configured, skip') + logger.log('DEBUG', f'{self.source} module is not configured') return False return True @@ -62,10 +62,10 @@ class Module(object): self.end = time.time() self.elapse = round(self.end - self.start, 1) logger.log('DEBUG', f'Finished {self.source} module to collect {self.domain}\'s subdomains') - logger.log('INFOR', f'The {self.source} module took {self.elapse} seconds, ' + logger.log('INFOR', f'The {self.source} module took {self.elapse} seconds ' f'found {len(self.subdomains)} subdomains') logger.log('DEBUG', f'{self.source} module found subdomains of {self.domain}\n' - f'{self.subdomains}') + f'{self.subdomains}') def head(self, url, params=None, check=True, **kwargs): """ @@ -252,7 +252,7 @@ class Module(object): """ Generate results """ - logger.log('DEBUG', f'Generating final results...') + logger.log('DEBUG', f'Generating final results') if not len(self.subdomains): # 该模块一个子域都没有发现的情况 logger.log('DEBUG', f'{self.source} module result is empty') result = {'id': None, diff --git a/common/query.py b/common/query.py index 0ab4dda..b0ad133 100644 --- a/common/query.py +++ b/common/query.py @@ -1,4 +1,4 @@ -from .module import Module +from common.module import Module class Query(Module): diff --git a/common/request.py b/common/request.py index 12294ed..d1cfef0 100644 --- a/common/request.py +++ b/common/request.py @@ -22,7 +22,7 @@ def get_limit_conn(): def get_ports(port): - logger.log('DEBUG', f'Getting port range...') + logger.log('DEBUG', f'Getting port range') ports = set() if isinstance(port, (set, list, tuple)): ports = port @@ -40,7 +40,7 @@ def get_ports(port): def gen_req_data(data, ports): - logger.log('INFOR', f'Generating request urls...') + logger.log('INFOR', f'Generating request urls') new_data = [] for data in data: resolve = data.get('resolve') @@ -203,7 +203,7 @@ async def bulk_request(data, port): to_req_data = gen_req_data(data, ports) method = setting.request_method logger.log('INFOR', f'Use {method} method to request') - logger.log('INFOR', f'Async subdomains request in progress...') + logger.log('INFOR', f'Async subdomains request in progress') connector = get_connector() header = get_header() async with ClientSession(connector=connector, headers=header) as session: @@ -255,7 +255,7 @@ def run_request(domain, data, port): # 在关闭事件循环前加入一小段延迟让底层连接得到关闭的缓冲时间 loop.run_until_complete(asyncio.sleep(0.25)) count = utils.count_alive(data) - logger.log('INFOR', f'After verify, found {domain} have {count} alive subdomains') + logger.log('INFOR', f'Request module found {domain} have {count} alive subdomains') return data diff --git a/common/resolve.py b/common/resolve.py index dcd5a02..e7e8537 100644 --- a/common/resolve.py +++ b/common/resolve.py @@ -14,7 +14,7 @@ def filter_subdomain(data): :param list data: 待过滤的数据列表 :return: 符合条件的子域列表 """ - logger.log('DEBUG', f'Filtering subdomains to be resolved...') + logger.log('DEBUG', f'Filtering subdomains to be resolved') subdomains = [] for data in data: if not data.get('content'): @@ -31,7 +31,7 @@ def update_data(data, records): :param dict records: 解析结果字典 :return: 更新后的数据列表 """ - logger.log('DEBUG', f'Updating resolved results...') + logger.log('DEBUG', f'Updating resolved results') if not records: logger.log('ERROR', f'No valid resolved result') return data @@ -52,7 +52,7 @@ def save_data(name, data): :param str name: 保存表名 :param list data: 待保存的数据 """ - logger.log('INFOR', f'Saving resolved results...') + logger.log('INFOR', f'Saving resolved results') db = Database() db.drop_table(name) db.create_table(name) @@ -61,7 +61,7 @@ def save_data(name, data): def save_subdomains(save_path, subdomain_list): - logger.log('DEBUG', f'Saving resolved subdomain...') + logger.log('DEBUG', f'Saving resolved subdomain') subdomain_data = '\n'.join(subdomain_list) if not utils.save_data(save_path, subdomain_data): logger.log('FATAL', 'Save resolved subdomain error') @@ -69,7 +69,7 @@ def save_subdomains(save_path, subdomain_list): def deal_output(output_path): - logger.log('INFOR', f'Processing resolved results...') + logger.log('INFOR', f'Processing resolved results') records = dict() # 用来记录所有域名解析数据 with open(output_path) as fd: for line in fd: @@ -161,6 +161,7 @@ def run_resolve(domain, data): ns_path = setting.brute_nameservers_path + logger.log('INFOR', f'Running massdns to brute subdomains') utils.call_massdns(massdns_path, save_path, ns_path, output_path, log_path, quiet_mode=True) diff --git a/common/search.py b/common/search.py index 8dadfad..932bf52 100644 --- a/common/search.py +++ b/common/search.py @@ -3,7 +3,6 @@ import re from config import setting from config.log import logger from common.module import Module -from common import utils class Search(Module): diff --git a/common/utils.py b/common/utils.py index 67d9de9..0b8ad64 100644 --- a/common/utils.py +++ b/common/utils.py @@ -99,7 +99,7 @@ def get_domains(target): :return list: domain list """ domains = list() - logger.log('DEBUG', f'Getting domains...') + logger.log('DEBUG', f'Getting domains') if isinstance(target, (set, tuple)): domains = list(target) elif isinstance(target, list): @@ -171,7 +171,7 @@ def check_path(path, name, format): logger.log('ALERT', f'{parent_dir} does not exist, directory will be created') parent_dir.mkdir(parents=True, exist_ok=True) if path.exists(): - logger.log('ALERT', f'{path} exists, file will be overwritten') + logger.log('ALERT', f'The {path} exists and will be overwritten') return path @@ -487,7 +487,7 @@ def delete_file(*paths): @tenacity.retry(stop=tenacity.stop_after_attempt(3)) def check_net(): - logger.log('INFOR', 'Checking Internet environment...') + logger.log('INFOR', 'Checking Internet environment') urls = ['http://www.example.com', 'http://www.baidu.com', 'http://www.bing.com', 'http://www.taobao.com', 'http://www.linkedin.com', 'http://www.msn.com', @@ -498,18 +498,18 @@ def check_net(): rsp = requests.get(url) except Exception as e: logger.log('ERROR', e.args) - logger.log('ALERT', 'Can not access Internet, retrying...') + logger.log('ALERT', 'Can not access Internet, retrying') raise tenacity.TryAgain if rsp.status_code != 200: logger.log('ALERT', f'{rsp.request.method} {rsp.request.url} ' f'{rsp.status_code} {rsp.reason}') - logger.log('ALERT', 'Can not access Internet normally, retrying...') + logger.log('ALERT', 'Can not access Internet normally, retrying') raise tenacity.TryAgain logger.log('INFOR', 'Access to Internet OK') def check_pre(): - logger.log('INFOR', 'Checking dependent environment...') + logger.log('INFOR', 'Checking dependent environment') system = platform.system() implementation = platform.python_implementation() version = platform.python_version() @@ -531,7 +531,7 @@ def check_pre(): def check_env(): - logger.log('INFOR', 'Checking the environment...') + logger.log('INFOR', 'Checking the environment') try: check_net() except Exception as e: @@ -548,7 +548,7 @@ def get_maindomain(domain): def call_massdns(massdns_path, dict_path, ns_path, output_path, log_path, query_type='A', process_num=1, concurrent_num=10000, quiet_mode=False): - logger.log('INFOR', f'Start running massdns') + logger.log('DEBUG', f'Start running massdns') quiet = '' if quiet_mode: quiet = '--quiet' @@ -561,9 +561,9 @@ def call_massdns(massdns_path, dict_path, ns_path, output_path, log_path, f'--resolve-count {resolve_num} --type {query_type} ' \ f'--flush --output J --outfile {output_path} ' \ f'--root --error-log {log_path} {dict_path}' - logger.log('INFOR', f'Run command {cmd}') + logger.log('DEBUG', f'Run command {cmd}') subprocess.run(args=cmd, shell=True) - logger.log('INFOR', f'Finished massdns') + logger.log('DEBUG', f'Finished massdns') def get_massdns_path(massdns_dir): diff --git a/dbexport.py b/dbexport.py index 5217a59..7e0e68d 100644 --- a/dbexport.py +++ b/dbexport.py @@ -46,7 +46,7 @@ def export(table, db=None, alive=False, limit=None, path=None, format='csv', sho data = rows.export(format) database.close() utils.save_data(path, data) - logger.log('INFOR', f'{table}\'s subdomains result: {path}') + logger.log('ALERT', f'Subdomain result for {table}: {path}') data_dict = rows.as_dict() return data_dict diff --git a/modules/autotake/github.py b/modules/autotake/github.py index fb20918..4285301 100644 --- a/modules/autotake/github.py +++ b/modules/autotake/github.py @@ -20,7 +20,7 @@ HEADERS = { def github_takeover(url): # 读取config配置文件 repo_name = url - print('[*]正在读取配置文件...') + print('[*]正在读取配置文件') user = api.github_api_user token = api.github_api_token CHECK_HEADERS = { @@ -34,7 +34,7 @@ def github_takeover(url): if repos_r.json()['message'] == 'Bad credentials': print('[*]请检查Token是否正确') elif repos_r.json()['message'] == 'Not Found': - print('[*]正在生成接管库...') # 生成接管库 + print('[*]正在生成接管库') # 生成接管库 creat_repo_dict = { "name": repo_name, "description": "This is a subdomain takeover Repository", @@ -45,7 +45,7 @@ def github_takeover(url): data=json.dumps(creat_repo_dict)) creat_repo_status = creat_repo_r.status_code if creat_repo_status == 201: - print('[*]创建接管库' + repo_name + '成功,正在进行自动接管...') + print('[*]创建接管库' + repo_name + '成功,正在进行自动接管') # 接管文件生成 # index.html文件 html = b''' @@ -81,7 +81,7 @@ def github_takeover(url): headers=CHECK_HEADERS) # 上传CNAME rs = cname_r.status_code if rs == 201: - print('[*]生成接管库成功,正在开启Github pages...') + print('[*]生成接管库成功,正在开启Github pages') page_url = "https://api.github.com/repos/" + user + "/" + url + "/pages" page_dict = { "source": { @@ -94,9 +94,9 @@ def github_takeover(url): if page_r.status_code == 201: print('[+]自动接管成功,请稍后访问http://' + str(url) + '查看结果') else: - print('[+]开启Github pages失败,请检查网络或稍后重试...') + print('[+]开启Github pages失败,请检查网络或稍后重试') else: - print('[+]生成接管库失败,请检查网络或稍后重试...') + print('[+]生成接管库失败,请检查网络或稍后重试') elif url in repos_r.json()['name']: print('[*]生成接管库失败,请检查https://github.com/' + user + - '?tab=repositories是否存在同名接管库...') + '?tab=repositories是否存在同名接管库') diff --git a/takeover.py b/takeover.py index fc6afc5..bde253b 100644 --- a/takeover.py +++ b/takeover.py @@ -78,7 +78,7 @@ class Takeover(Module): self.results = Dataset() def save(self): - logger.log('DEBUG', 'Saving results...') + logger.log('DEBUG', 'Saving results') if self.format == 'txt': data = str(self.results) else: @@ -138,7 +138,7 @@ class Takeover(Module): name = f'takeover_check_result_{timestamp}' self.path = utils.check_path(self.path, name, self.format) if self.subdomains: - logger.log('INFOR', f'Checking subdomain takeover...') + logger.log('INFOR', f'Checking subdomain takeover') self.fingerprints = get_fingerprint() self.results.headers = ['subdomain', 'cname'] # 创建待检查的子域队列