Exemple #1
0
    def multi_replace(self, text, replace_dict):
        """ This redundant method is here so that plugins can use it

        :param text: Text to replace with
        :type text: `str`
        :param replace_dict: Dict to modify
        :type replace_dict: `dict`
        :return: Replaced dict
        :rtype: `dict`
        """
        return multi_replace(text, replace_dict)
Exemple #2
0
def get_all_tools(session):
    """Get all tools from the config DB

    :return: Config dict for all tools
    :rtype: `dict`
    """
    results = session.query(models.ConfigSetting).filter(models.ConfigSetting.key.like("%TOOL_%")).all()
    config_dicts = derive_config_dicts(results)
    for config_dict in config_dicts:
        config_dict["value"] = multi_replace(config_dict["value"], config_handler.get_replacement_dict())
    return config_dicts
Exemple #3
0
def get_config_val(session, key):
    """Get the value of the key from DB

    :param key: Key to lookup
    :type key: `str`
    :return: Value
    :rtype: `str`
    """
    obj = session.query(models.ConfigSetting).get(key)
    if obj:
        return multi_replace(obj.value, config_handler.get_replacement_dict())
    else:
        return None
Exemple #4
0
def get_resource_list(session, resource_type_list):
    """Get list of resources from list of types

    :param resource_type_list: List of resource types
    :type resource_type_list: `list`
    :return: List of resources
    :rtype: `list`
    """
    replacement_dict = get_rsrc_replacement_dict(session)
    raw_resources = get_raw_resource_list(session, resource_type_list)
    resources = []
    for name, resource in raw_resources:
        resources.append([name, multi_replace(resource, replacement_dict)])
    return resources
Exemple #5
0
def get_resources(resource_type):
    """Fetch resources filtered on type

    :param resource_type: Resource type
    :type resource_type: `str`
    :return: List of resources
    :rtype: `list`
    """
    session = get_scoped_session()
    replacement_dict = get_rsrc_replacement_dict(session)
    raw_resources = get_raw_resources(session, resource_type)
    resources = []
    for name, resource in raw_resources:
        resources.append([name, multi_replace(resource, replacement_dict)])
    return resources
Exemple #6
0
def load_framework_config_file(default, fallback, root_dir, owtf_pid):
    """Load the configuration into a global dictionary.
    :param config_path: The configuration file path
    :type config_path: `str`
    :return: None
    :rtype: None
    """
    config_path = default
    if not os.path.isfile(config_path):
        config_path = fallback
    logging.info("Loading config from: {}..".format(config_path))
    config_file = FileOperations.open(config_path, 'r')
    config_handler.set_val('FRAMEWORK_DIR', root_dir)  # Needed Later.
    for line in config_file:
        try:
            key = line.split(':')[0]
            if key[0] == '#':  # Ignore comment lines.
                continue
            value = line.replace("{}: ".format(key), "").strip()
            config_handler.set_val(key, multi_replace(value, {'FRAMEWORK_DIR': root_dir, 'OWTF_PID': str(owtf_pid)}))
        except ValueError:
            abort_framework("Problem in config file: {} -> Cannot parse line: {}".format(config_path, line))