valid参数改为alive参数

This commit is contained in:
Jing Ling
2020-04-20 16:23:01 +08:00
parent 2e1e56774f
commit 6c37ecaff7
4 changed files with 19 additions and 18 deletions
+5 -5
View File
@@ -405,7 +405,7 @@ class Brute(Module):
brute.py --target d.com --fuzz True --place m.*.d.com --rule '[a-z]' run brute.py --target d.com --fuzz True --place m.*.d.com --rule '[a-z]' run
Note: Note:
参数valid可选值10None分别表示导出有效,无效,全部子域 参数alive可选值TrueFalse分别表示导出存活,全部子域结果
参数format可选格式有'txt', 'rst', 'csv', 'tsv', 'json', 'yaml', 'html', 参数format可选格式有'txt', 'rst', 'csv', 'tsv', 'json', 'yaml', 'html',
'jira', 'xls', 'xlsx', 'dbf', 'latex', 'ods' 'jira', 'xls', 'xlsx', 'dbf', 'latex', 'ods'
参数path默认None使用OneForAll结果目录自动生成路径 参数path默认None使用OneForAll结果目录自动生成路径
@@ -422,14 +422,14 @@ class Brute(Module):
:param str place: 指定爆破位置(开启fuzz模式时必需指定此参数) :param str place: 指定爆破位置(开启fuzz模式时必需指定此参数)
:param str rule: 指定fuzz模式爆破使用的正则规则(开启fuzz模式时必需指定此参数) :param str rule: 指定fuzz模式爆破使用的正则规则(开启fuzz模式时必需指定此参数)
:param bool export: 是否导出爆破结果(默认True) :param bool export: 是否导出爆破结果(默认True)
:param bool valid: 只导出有效的子域结果(默认False) :param bool alive: 只导出存活的子域结果(默认True)
:param str format: 结果导出格式(默认csv) :param str format: 结果导出格式(默认csv)
:param str path: 结果导出路径(默认None) :param str path: 结果导出路径(默认None)
""" """
def __init__(self, target, process=None, concurrent=None, word=False, def __init__(self, target, process=None, concurrent=None, word=False,
wordlist=None, recursive=False, depth=None, nextlist=None, wordlist=None, recursive=False, depth=None, nextlist=None,
fuzz=False, place=None, rule=None, export=True, valid=True, fuzz=False, place=None, rule=None, export=True, alive=True,
format='csv', path=None): format='csv', path=None):
Module.__init__(self) Module.__init__(self)
self.module = 'Brute' self.module = 'Brute'
@@ -446,7 +446,7 @@ class Brute(Module):
self.place = place or config.fuzz_place self.place = place or config.fuzz_place
self.rule = rule or config.fuzz_rule self.rule = rule or config.fuzz_rule
self.export = export self.export = export
self.valid = valid self.alive = alive
self.format = format self.format = format
self.path = path self.path = path
self.bulk = False # 是否是批量爆破场景 self.bulk = False # 是否是批量爆破场景
@@ -600,7 +600,7 @@ class Brute(Module):
# 数据库导出 # 数据库导出
if self.export: if self.export:
dbexport.export(self.domain, dbexport.export(self.domain,
valid=self.valid, alive=self.alive,
limit='resolve', limit='resolve',
path=self.path, path=self.path,
format=self.format) format=self.format)
+2 -2
View File
@@ -23,8 +23,8 @@ enable_http_request = True # 使用HTTP请求子域(默认True)
enable_takeover_check = False # 开启子域接管风险检查(默认False) enable_takeover_check = False # 开启子域接管风险检查(默认False)
# 参数port可选值有'default', 'small', 'large' # 参数port可选值有'default', 'small', 'large'
http_request_port = 'default' # HTTP请求子域(默认'default',探测80端口) http_request_port = 'default' # HTTP请求子域(默认'default',探测80端口)
# 参数valid可选值TrueFalse分别表示导出有效,全部子域结果 # 参数alive可选值TrueFalse分别表示导出存活,全部子域结果
result_export_valid = False # 只导出有效的子域结果(默认False) result_export_alive = False # 只导出存活的子域结果(默认False)
# 参数format可选格式有'rst', 'csv', 'tsv', 'json', 'yaml', 'html', # 参数format可选格式有'rst', 'csv', 'tsv', 'json', 'yaml', 'html',
# 'jira', 'xls', 'xlsx', 'dbf', 'latex', 'ods' # 'jira', 'xls', 'xlsx', 'dbf', 'latex', 'ods'
result_save_format = 'csv' # 子域结果保存文件格式(默认csv) result_save_format = 'csv' # 子域结果保存文件格式(默认csv)
+4 -3
View File
@@ -15,7 +15,7 @@ from common.database import Database
from config import logger from config import logger
def export(table, db=None, valid=False, limit=None, path=None, format='csv', show=False): def export(table, db=None, alive=False, limit=None, path=None, format='csv', show=False):
""" """
OneForAll数据库导出模块 OneForAll数据库导出模块
@@ -24,13 +24,14 @@ def export(table, db=None, valid=False, limit=None, path=None, format='csv', sho
python3 dbexport.py --db result.db --table name --show False python3 dbexport.py --db result.db --table name --show False
Note: Note:
参数alive可选值True,False分别表示导出存活,全部子域结果
参数format可选格式有'txt', 'rst', 'csv', 'tsv', 'json', 'yaml', 'html', 参数format可选格式有'txt', 'rst', 'csv', 'tsv', 'json', 'yaml', 'html',
'jira', 'xls', 'xlsx', 'dbf', 'latex', 'ods' 'jira', 'xls', 'xlsx', 'dbf', 'latex', 'ods'
参数path默认None使用OneForAll结果目录自动生成路径 参数path默认None使用OneForAll结果目录自动生成路径
:param str table: 要导出的表 :param str table: 要导出的表
:param str db: 要导出的数据库路径(默认为results/result.sqlite3) :param str db: 要导出的数据库路径(默认为results/result.sqlite3)
:param bool valid: 只导出有效的子域结果(默认False) :param bool alive: 只导出存活的子域结果(默认False)
:param str limit: 导出限制条件(默认None) :param str limit: 导出限制条件(默认None)
:param str format: 导出文件格式(默认csv) :param str format: 导出文件格式(默认csv)
:param str path: 导出文件路径(默认None) :param str path: 导出文件路径(默认None)
@@ -38,7 +39,7 @@ def export(table, db=None, valid=False, limit=None, path=None, format='csv', sho
""" """
database = Database(db) database = Database(db)
rows = database.export_data(table, valid, limit) rows = database.export_data(table, alive, limit)
format = utils.check_format(format, len(rows)) format = utils.check_format(format, len(rows))
path = utils.check_path(path, table, format) path = utils.check_path(path, table, format)
if show: if show:
+8 -8
View File
@@ -51,7 +51,7 @@ class OneForAll(object):
python3 oneforall.py version python3 oneforall.py version
python3 oneforall.py --target example.com run python3 oneforall.py --target example.com run
python3 oneforall.py --target ./domains.txt run python3 oneforall.py --target ./domains.txt run
python3 oneforall.py --target example.com --valid None run python3 oneforall.py --target example.com --alive None run
python3 oneforall.py --target example.com --brute True run python3 oneforall.py --target example.com --brute True run
python3 oneforall.py --target example.com --port medium run python3 oneforall.py --target example.com --port medium run
python3 oneforall.py --target example.com --format csv run python3 oneforall.py --target example.com --format csv run
@@ -61,7 +61,7 @@ class OneForAll(object):
python3 oneforall.py --target example.com --show True run python3 oneforall.py --target example.com --show True run
Note: Note:
# 参数valid可选值TrueFalse分别表示导出有效,全部子域结果 参数alive可选值TrueFalse分别表示导出存活,全部子域结果
参数port可选值有'default', 'small', 'large', 详见config.py配置 参数port可选值有'default', 'small', 'large', 详见config.py配置
参数format可选格式有'rst', 'csv', 'tsv', 'json', 'yaml', 'html', 参数format可选格式有'rst', 'csv', 'tsv', 'json', 'yaml', 'html',
'jira', 'xls', 'xlsx', 'dbf', 'latex', 'ods' 'jira', 'xls', 'xlsx', 'dbf', 'latex', 'ods'
@@ -72,19 +72,19 @@ class OneForAll(object):
:param bool dns: DNS解析子域(默认True) :param bool dns: DNS解析子域(默认True)
:param bool req: HTTP请求子域(默认True) :param bool req: HTTP请求子域(默认True)
:param str port: 请求验证子域的端口范围(默认探测80端口) :param str port: 请求验证子域的端口范围(默认探测80端口)
:param bool valid: 只导出有效的子域结果(默认False) :param bool alive: 只导出存活的子域结果(默认False)
:param str format: 结果保存格式(默认csv) :param str format: 结果保存格式(默认csv)
:param str path: 结果保存路径(默认None) :param str path: 结果保存路径(默认None)
:param bool takeover: 检查子域接管(默认False) :param bool takeover: 检查子域接管(默认False)
""" """
def __init__(self, target, brute=None, dns=None, req=None, port=None, def __init__(self, target, brute=None, dns=None, req=None, port=None,
valid=None, format=None, path=None, takeover=None): alive=None, format=None, path=None, takeover=None):
self.target = target self.target = target
self.brute = brute self.brute = brute
self.dns = dns self.dns = dns
self.req = req self.req = req
self.port = port self.port = port
self.valid = valid self.alive = alive
self.format = format self.format = format
self.path = path self.path = path
self.takeover = takeover self.takeover = takeover
@@ -111,8 +111,8 @@ class OneForAll(object):
self.takeover = bool(config.enable_takeover_check) self.takeover = bool(config.enable_takeover_check)
if self.port is None: if self.port is None:
self.port = config.http_request_port self.port = config.http_request_port
if self.valid is None: if self.alive is None:
self.valid = bool(config.result_export_valid) self.alive = bool(config.result_export_alive)
if self.format is None: if self.format is None:
self.format = config.result_save_format self.format = config.result_save_format
if self.path is None: if self.path is None:
@@ -127,7 +127,7 @@ class OneForAll(object):
:rtype: list :rtype: list
""" """
db = Database() db = Database()
data = dbexport.export(table, valid=self.valid, format=self.format) data = dbexport.export(table, alive=self.alive, format=self.format)
db.drop_table(self.new_table) db.drop_table(self.new_table)
db.rename_table(self.domain, self.new_table) db.rename_table(self.domain, self.new_table)
db.close() db.close()