@Override public void registerExtenderCallbacks(IBurpExtenderCallbacks callbacks) {//当加载插件的时候,会调用下面的方法。 stdout = new PrintWriter(callbacks.getStdout(), true); //PrintWriter stdout = new PrintWriter(callbacks.getStdout(), true); 这种写法是定义变量和实例化,这里的变量就是新的变量而不是之前class中的全局变量了。 stdout.println(extenderName+" https://github.com/bit4woo\r\n"); //System.out.println("test"); 不会输出到burp的 this.callbacks = callbacks; helpers = callbacks.getHelpers(); callbacks.setExtensionName(extenderName); //插件名称 callbacks.registerHttpListener(this); //如果没有注册,下面的processHttpMessage方法是不会生效的。处理请求和响应包的插件,这个应该是必要的 callbacks.registerContextMenuFactory(this); addMenuTab(); }
@Override public void registerExtenderCallbacks(final IBurpExtenderCallbacks callbacks) { helpers = callbacks.getHelpers(); this.pw = new PrintWriter(callbacks.getStdout(), true); setupTab(); callbacks.setExtensionName("AWS Signer"); callbacks.registerContextMenuFactory(new Menu()); SwingUtilities.invokeLater(() -> { callbacks.customizeUiComponent(panel); callbacks.addSuiteTab(BurpExtender.this); callbacks.registerHttpListener(BurpExtender.this); }); }
callbacks.registerHttpListener(this);
callbacks.registerExtensionStateListener(this); callbacks.addSuiteTab(this); callbacks.registerHttpListener(this);
@Override public void registerExtenderCallbacks(final IBurpExtenderCallbacks callbacks) { new Utilities(callbacks); Utilities.out("Loaded " + name + " v" + version ); SwingUtilities.invokeLater(new ConfigMenu()); Utilities.globalSettings.printSettings(); callbacks.setExtensionName(name); callbacks.registerHttpListener(new Throttler()); callbacks.registerContextMenuFactory(new OfferDistributedScan(callbacks)); } }
@Override public void registerExtenderCallbacks(IBurpExtenderCallbacks callbacks) { this.callbacks = callbacks; this.helpers = callbacks.getHelpers(); this.stdout = new PrintWriter(callbacks.getStdout(), true); this.stderr = new PrintWriter(callbacks.getStderr(), true); this.getter = new Getter(helpers); this.callbacks.setExtensionName(this.ExtensionName); this.callbacks.registerContextMenuFactory(this);// for menus this.callbacks.registerMessageEditorTabFactory(this);// for U2C this.callbacks.addSuiteTab(BurpExtender.this); this.callbacks.registerHttpListener(this); this.stdout.println(ExtensionName); this.stdout.println(github); String content = callbacks.loadExtensionSetting("knifeconfig"); if (content!=null) { config = JSON.parseObject(content, ConfigObject.class); showToUI(config); }else { showToUI(new ConfigObject("default")); } }
@Override public void registerExtenderCallbacks (final IBurpExtenderCallbacks callbacks) { // keep a reference to our callbacks object this.callbacks = callbacks; // obtain an extension helpers object helpers = callbacks.getHelpers(); callbacks.setExtensionName ("Burp Hunter"); String loaded = "Burp Hunter by Jason Calvert\n================================\n"+ "This extension will perform injections for all \"in scope\" HTTP request made through Burp and will record the request at the specified XSS Hunter domain.\n"+ "Use your own XSS Hunter domain or create one at https://xsshunter.com/"; callbacks.printOutput(loaded); // create config UI SwingUtilities.invokeLater(() -> { hunterConfig = new HunterConfig(); // add the custom tab to Burp's UI callbacks.addSuiteTab(hunterConfig); }); // Create preview Tab in editor callbacks.registerMessageEditorTabFactory(this); // Perform replacement and inform XSS Hunter callbacks.registerHttpListener(this); }
@Override public void registerExtenderCallbacks(IBurpExtenderCallbacks callbacks) { this.callbacks = callbacks; PrintWriter stdout = new PrintWriter(callbacks.getStdout(), true); stdout.println("JWT4B says hi!"); callbacks.setExtensionName(Settings.extensionName); callbacks.registerMessageEditorTabFactory(this); final HighLightController marker = new HighLightController(callbacks); callbacks.registerHttpListener(marker); // Suite Tab JWTSuiteTabModel jwtSTM = new JWTSuiteTabModel(); JWTSuiteTab jwtST = new JWTSuiteTab(jwtSTM); JWTSuiteTabController jstC = new JWTSuiteTabController(jwtSTM, jwtST); callbacks.addSuiteTab(jstC); // Context Menu ContextMenuController cmC = new ContextMenuController(jstC); callbacks.registerContextMenuFactory(cmC); }
callbacks.registerHttpListener(BurpExtender.this);
callbacks.registerHttpListener(paramGrabber); callbacks.registerProxyListener(paramGrabber);
callbacks.registerHttpListener(scanAndMark); Logging.getInstance().log(getClass(), "Scanner registered.", Logging.INFO); callbacks.registerMessageEditorTabFactory(new SAMLEditor(callbacks));
this.callbacks.registerHttpListener(new MollyRequestResponseHandler(callbacks, extConfig, authenticator, scanners, deduper, postponedEntryPoints));
@Override public void registerExtenderCallbacks(IBurpExtenderCallbacks callbacks) { this.callbacks = callbacks; if (helpers.Flags.DEBUG) { PrintStream errStream; try { errStream = new PrintStream("SAMLRaiderDebug.log"); System.setErr(errStream); System.setOut(errStream); } catch (FileNotFoundException ex) { System.out.println("Log creation failed"); } } callbacks.setExtensionName("SAML Raider"); certificateTab = new CertificateTab(); callbacks.customizeUiComponent(certificateTab); certificateTabController = new CertificateTabController(certificateTab); certificateTab.setCertificateTabController(certificateTabController); callbacks.addSuiteTab(certificateTabController); callbacks.registerMessageEditorTabFactory(this); callbacks.registerHttpListener(samlHighlighter); }
/** * {@inheritDoc} */ @Override public void registerExtenderCallbacks(IBurpExtenderCallbacks extenderCallbacks) { callbacks = extenderCallbacks; helpers = callbacks.getHelpers(); callbacks.setExtensionName("Headless Burp Scanner"); callbacks.registerHttpListener(this); callbacks.registerScannerListener(this); callbacks.registerExtensionStateListener(this); try { if (!processCommandLineArguments(callbacks.getCommandLineArguments())) { return; } config.getExclusions().forEach(callbacks::excludeFromScope); scanSiteMap(config.getSiteMap()); scanUrls(config.getUrls()); lastRequestTime = Instant.now(); monitorScanQueue(); generateReport(config.getReportType(), config.getReportFile()); } catch (Exception e) { log("Could not run burp scan, quitting: " + getStackTraceAsString(e)); } callbacks.exitSuite(promptUserOnShutdown); }
@Override protected void initPassiveScan() { //set the extension Name extensionName = "Error Message Checks"; //set the settings namespace settingsNamespace = "EMC_"; //Create the GUI rulesTable = new RuleTableComponent(this, callbacks, "https://raw.githubusercontent.com/augustd/burp-suite-error-message-checks/master/src/main/resources/burp/match-rules.tab", "burp/match-rules.tab"); mTab = new BurpSuiteTab(TAB_NAME, callbacks); mTab.addComponent(rulesTable); toolsScope = new ToolsScopeComponent(callbacks); toolsScope.setEnabledToolConfig(IBurpExtenderCallbacks.TOOL_PROXY, false); toolsScope.setToolDefault(IBurpExtenderCallbacks.TOOL_PROXY, true); toolsScope.setToolDefault(IBurpExtenderCallbacks.TOOL_SCANNER, true); toolsScope.setToolDefault(IBurpExtenderCallbacks.TOOL_REPEATER, true); toolsScope.setToolDefault(IBurpExtenderCallbacks.TOOL_INTRUDER, true); mTab.addComponent(toolsScope); //register this extension as an HTTP listener callbacks.registerHttpListener(this); }