Exemplo n.º 1
0
    def registerExtenderCallbacks(self, callbacks):
        '''
        This method is invoked on startup.
        '''
        self._callbacks = callbacks

        if self.opt.file:
            if os.path.isfile(self.opt.file):
                self.restoreState(self.opt.file)
                self.issueAlert('Restored state from %s' % (self.opt.file,))
            else:
                self.issueAlert('Could not restore state from %s:'
                                'file does not exist' % (self.opt.file,))

        for module, _ in self._menus.options():
            if self._menus.getbool(module) is True:
                for menu in _get_menus(module):
                    menu(self)

        for component, _ in self._components.options():
            if self._components.getbool(component) is True:
                _get_plugins(component)

        if not self.opt.disable_reloading:
            self._monitor_item(self.config)
            self.monitor = PluginMonitorThread(self)
            self.monitor.start()

        self.issueAlert('Burp extender ready...')

        return
Exemplo n.º 2
0
    def registerExtenderCallbacks(self, callbacks):
        '''
        This method is invoked on startup.
        '''
        self._callbacks = callbacks

        try:
            self.setExtensionName(self.getExtensionName())
        except Exception:
            pass

        try:
            log_filename = self.loadExtensionSetting(*settings.LOG_FILENAME)
            log_format = self.loadExtensionSetting(*settings.LOG_FORMAT)
            log_level = self.loadExtensionSetting(*settings.LOG_LEVEL)

            self.log.setLevel(log_level)

            fileHandler = logging.FileHandler(
                    log_filename, encoding='utf-8', delay=True)

            streamHandler = logging.StreamHandler()

            formatter = logging.Formatter(fmt=log_format)

            fileHandler.setFormatter(formatter)
            streamHandler.setFormatter(formatter)

            self.log.addHandler(fileHandler)
            self.log.addHandler(streamHandler)

            self._handler = fileHandler
        except Exception:
            self.log.exception('Could not load extension logging settings')

        try:
            config = self.loadExtensionSetting(*settings.CONFIG_FILENAME)
            self.config = Configuration(os.path.abspath(config))
        except Exception:
            self.log.exception('Could not load extension config settings')

        try:
            from gds.burp.listeners import PluginListener, \
                    SaveConfigurationOnUnload, \
                    ScannerListener

            SaveConfigurationOnUnload(self)
            PluginListener(self)
            ScannerListener(self)
        except Exception:
            self.log.exception('Could not load extension listener')

        try:
            from gds.burp.ui import ConsoleTab
            self._console_tab = ConsoleTab(self)
            self.console = self._console_tab.interpreter
        except Exception as e:
            self.log.exception('Could not load console tab')

        for module, _ in self._menus.options():
            if self._menus.getbool(module) is True:
                for menu in _get_menus(module):
                    menu(self)

        for component, _ in self._components.options():
            if self._components.getbool(component) is True:
                _get_plugins(component)

        self._monitor_item(self.config)
        self.monitor = PluginMonitorThread(self)
        self.monitor.start()

        self.issueAlert('Burp extender ready...')
        return