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
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