mirror of
https://github.com/shmilylty/OneForAll.git
synced 2026-08-26 04:47:48 +08:00
为OneForAll入口添加path参数
This commit is contained in:
@@ -302,7 +302,7 @@ class AIOBrute(Module):
|
||||
logger.log('DEBUG', f'{self.source}模块发现{self.domain}的域名:\n'
|
||||
f'{self.subdomains}')
|
||||
if not self.path:
|
||||
name = f'{self.domain}_brute.{self.format}'
|
||||
name = f'{self.domain}_brute_result.{self.format}'
|
||||
self.path = config.result_save_path.joinpath(name)
|
||||
# 数据库导出
|
||||
if self.export:
|
||||
|
||||
@@ -288,17 +288,18 @@ def check_value(values):
|
||||
return values
|
||||
|
||||
|
||||
def export_all(format, datas):
|
||||
def export_all(format, path, datas):
|
||||
"""
|
||||
将所有结果数据导出到一个文件
|
||||
|
||||
:param format: 导出文件的格式
|
||||
:param datas: 待导出的结果数据
|
||||
:param str format: 导出文件格式
|
||||
:param str path: 导出文件路径
|
||||
:param list datas: 待导出的结果数据
|
||||
"""
|
||||
format = check_format(format, len(datas))
|
||||
timestamp = get_timestamp()
|
||||
name = f'all_subdomain_{timestamp}'
|
||||
path = check_path(None, name, format)
|
||||
name = f'all_subdomain_result_{timestamp}'
|
||||
path = check_path(path, name, format)
|
||||
row_list = list()
|
||||
for row in datas:
|
||||
row.pop('header')
|
||||
|
||||
@@ -30,8 +30,8 @@ def export(table, db=None, valid=None, path=None, format='csv', show=False):
|
||||
:param str table: 要导出的表
|
||||
:param str db: 要导出的数据库路径(默认为results/result.sqlite3)
|
||||
:param int valid: 导出子域的有效性(默认None)
|
||||
:param str format: 导出格式(默认csv)
|
||||
:param str path: 导出路径(默认None)
|
||||
:param str format: 导出文件格式(默认csv)
|
||||
:param str path: 导出文件路径(默认None)
|
||||
:param bool show: 终端显示导出数据(默认False)
|
||||
"""
|
||||
|
||||
|
||||
@@ -65,6 +65,7 @@ class OneForAll(object):
|
||||
参数port可选值有'default', 'small', 'large', 详见config.py配置
|
||||
参数format可选格式有'txt', 'rst', 'csv', 'tsv', 'json', 'yaml', 'html',
|
||||
'jira', 'xls', 'xlsx', 'dbf', 'latex', 'ods'
|
||||
参数path默认None使用OneForAll结果目录生成路径
|
||||
|
||||
:param str target: 单个域名或者每行一个域名的文件路径(必需参数)
|
||||
:param bool brute: 使用爆破模块(默认False)
|
||||
@@ -72,12 +73,14 @@ class OneForAll(object):
|
||||
:param bool req: HTTP请求子域(默认True)
|
||||
:param str port: 请求验证子域的端口范围(默认只探测80端口)
|
||||
:param int valid: 导出子域的有效性(默认None)
|
||||
:param str format: 导出格式(默认csv)
|
||||
:param str format: 导出文件格式(默认csv)
|
||||
:param str path: 导出文件路径(默认None)
|
||||
:param bool takeover: 检查子域接管(默认False)
|
||||
:param bool show: 终端显示导出数据(默认False)
|
||||
"""
|
||||
def __init__(self, target, brute=None, dns=None, req=None, port='default',
|
||||
valid=None, format='csv', takeover=False, show=False):
|
||||
def __init__(self, target, brute=None, dns=None, req=None,
|
||||
port='default', valid=None, format='csv', path=None,
|
||||
takeover=False, show=False):
|
||||
self.target = target
|
||||
self.port = port
|
||||
self.domains = set()
|
||||
@@ -90,6 +93,7 @@ class OneForAll(object):
|
||||
self.takeover = takeover
|
||||
self.valid = valid
|
||||
self.format = format
|
||||
self.path = path
|
||||
self.show = show
|
||||
|
||||
def main(self):
|
||||
@@ -197,8 +201,7 @@ class OneForAll(object):
|
||||
if self.domains:
|
||||
for self.domain in self.domains:
|
||||
self.main()
|
||||
if len(self.domains) >= 2:
|
||||
utils.export_all(self.format, self.datas)
|
||||
utils.export_all(self.format, self.path, self.datas)
|
||||
else:
|
||||
logger.log('FATAL', f'获取域名失败')
|
||||
logger.log('INFOR', f'结束运行OneForAll')
|
||||
|
||||
Reference in New Issue
Block a user