def _check_openbasedir(self):

        open_basedir = ModuleExec(
            'system_info',
            ['-info', 'open_basedir']).load_result_or_run('open_basedir')
        if not open_basedir:
            return messages.module_audit_phpconf.basedir_unrestricted

        dir_sep = ModuleExec(
            'system_info', ['-info', 'dir_sep']).load_result_or_run('dir_sep')
        if not self.os_type or not dir_sep:
            return messages.module_audit_phpconf.error

        path_sep = ':' if 'win' in self.os_type else ';'

        paths = open_basedir.split(path_sep)

        result = ''
        for path in paths:
            result += path + ': '
            if not path.endswith(dir_sep):
                result += ' ' + messages.module_audit_phpconf.basedir_no_slash
            elif path == '.':
                result += ' ' + messages.module_audit_phpconf.basedir_dot
            result += '\n'

        return result[-2:]
    def _get_env_info(self, script_url):

        script_folder = ModuleExec(
            'system_info',
            ['-info', 'script_folder']).load_result_or_run('script_folder')
        if not script_folder: return

        script_url_splitted = urlparse.urlsplit(script_url)
        script_url_path_folder, script_url_path_filename = os.path.split(
            script_url_splitted.path)

        url_folder_pieces = script_url_path_folder.split(os.sep)
        folder_pieces = script_folder.split(os.sep)

        for pieceurl, piecefolder in zip(reversed(url_folder_pieces),
                                         reversed(folder_pieces)):
            if pieceurl == piecefolder:
                folder_pieces.pop()
                url_folder_pieces.pop()
            else:
                break

        base_url_path_folder = os.sep.join(url_folder_pieces)
        self.base_folder_url = urlparse.urlunsplit(script_url_splitted[:2] +
                                                   (base_url_path_folder, ) +
                                                   script_url_splitted[3:])
        self.base_folder_path = os.sep.join(folder_pieces)
Exemple #3
0
    def _check_openbasedir(self):

        open_basedir = ModuleExec('system_info', [ '-info', 'open_basedir' ]).load_result_or_run('open_basedir')
        if not open_basedir: return messages.module_audit_phpconf.basedir_unrestricted

        dir_sep = ModuleExec('system_info', [ '-info', 'dir_sep' ]).load_result_or_run('dir_sep')
        if not self.os_type or not dir_sep: return messages.module_audit_phpconf.error

        path_sep = ':' if 'win' in self.os_type else ';'

        paths = open_basedir.split(path_sep)

        result = ''
        for path in paths:
            result += path + ': '
            if not path.endswith(dir_sep): result += ' ' + messages.module_audit_phpconf.basedir_no_slash
            elif path == '.': result += ' ' + messages.module_audit_phpconf.basedir_dot
            result += '\n'

        return result[-2:]
Exemple #4
0
    def _get_env_info(self, script_url):

        script_folder = ModuleExec('system_info', [ '-info', 'script_folder' ]).load_result_or_run('script_folder')
        if not script_folder: return

        script_url_splitted = urlparse.urlsplit(script_url)
        script_url_path_folder, script_url_path_filename = os.path.split(
            script_url_splitted.path)

        url_folder_pieces = script_url_path_folder.split(os.sep)
        folder_pieces = script_folder.split(os.sep)

        for pieceurl, piecefolder in zip(reversed(url_folder_pieces), reversed(folder_pieces)):
            if pieceurl == piecefolder:
                folder_pieces.pop()
                url_folder_pieces.pop()
            else:
                break

        base_url_path_folder = os.sep.join(url_folder_pieces)
        self.base_folder_url = urlparse.urlunsplit(
            script_url_splitted[:2] + (base_url_path_folder, ) + script_url_splitted[3:])
        self.base_folder_path = os.sep.join(folder_pieces)