Beispiel #1
0
def save_brute_dict(path, data):
    if not utils.save_data(path, data):
        logger.log('FATAL', '保存生成的字典出错')
        exit(1)
Beispiel #2
0
def save_subdomains(save_path, subdomain_list):
    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')
        exit(1)
Beispiel #3
0
def save_brute_dict(dict_path, dict_set):
    dict_data = '\n'.join(dict_set)
    if not utils.save_data(dict_path, dict_data):
        logger.log('FATAL', '保存生成的字典出错')
        exit(1)
Beispiel #4
0
def save_brute_dict(dict_path, dict_set):
    dict_data = '\n'.join(dict_set)
    if not utils.save_data(dict_path, dict_data):
        logger.log('FATAL', 'Saving dictionary error')
        exit(1)
Beispiel #5
0
def save_subdomains(save_path, subdomain_list):
    logger.log('DEBUG', f'正在保存待解析的子域')
    subdomain_data = '\n'.join(subdomain_list)
    if not utils.save_data(save_path, subdomain_data):
        logger.log('FATAL', '保存待解析的子域出错')
        exit(1)
Beispiel #6
0
def export(target,
           type='target',
           db=None,
           alive=False,
           limit=None,
           path=None,
           format='csv',
           show=False):
    """
    OneForAll export from database module

    Example:
        python3 dbexport.py --target name --format csv --dir= ./result.csv
        python3 dbexport.py --db result.db --target name --show False
        python3 dbexport.py --target table_name --tb True --show False

    Note:
        --format rst/csv/tsv/json/yaml/html/jira/xls/xlsx/dbf/latex/ods (result format)
        --path   Result directory (default directory is ./results)

    :param str  target:  Table to be exported
    :param str  type:    Type of target
    :param str  db:      Database path to be exported (default ./results/result.sqlite3)
    :param bool alive:   Only export the results of alive subdomains (default False)
    :param str  limit:   Export limit (default None)
    :param str  format:  Result format (default csv)
    :param str  path:    Result directory (default None)
    :param bool show:    Displays the exported data in terminal (default False)
    """

    if type == 'target':
        database = Database(db)
        domains = utils.get_domains(target)
        datas = []
        if domains:
            for domain in domains:
                table_name = domain_to_table(domain)
                rows = database.export_data(table_name, alive, limit)
                if rows is None:
                    continue
                format = utils.check_format(format, len(rows))
                path = utils.check_path(path, target, format)
                if show:
                    print(rows.dataset)
                data = rows.export(format)
                utils.save_data(path, data)
                logger.log('ALERT',
                           f'The subdomain result for {table_name}: {path}')
                data = rows.as_dict()
                datas.extend(data)
        database.close()
        if len(domains) > 1:
            utils.export_all(alive, format, path, datas)
    elif type == 'table':
        database = Database(db)
        rows = database.export_data(target, alive, limit)
        format = utils.check_format(format, len(rows))
        path = utils.check_path(path, target, format)
        if show:
            print(rows.dataset)
        data = rows.export(format)
        database.close()
        utils.save_data(path, data)
        logger.log('ALERT', f'The subdomain result for {target}: {path}')
        data_dict = rows.as_dict()
        return data_dict