/*
* HelloBurp - A simple extension to show alerts, stdout/stderr and custom UI
*
* Copyright (c) 2017 Luca Carettoni - Doyensec LLC.
*/
package burp;
import java.awt.Button;
import java.awt.Color;
import java.awt.Component;
import java.awt.Panel;
import java.io.PrintWriter;
public class BurpExtender implements IBurpExtender {
private IBurpExtenderCallbacks callbacks;
private IExtensionHelpers helpers;
@Override
public void registerExtenderCallbacks(IBurpExtenderCallbacks callbacks) {
this.callbacks = callbacks;
helpers = callbacks.getHelpers();
callbacks.setExtensionName("Hello Burp!");
callbacks.issueAlert("Once again, Hello Burp!"); //Alerts tab
PrintWriter stdout = new PrintWriter(callbacks.getStdout(), true);
PrintWriter stderr = new PrintWriter(callbacks.getStderr(), true);
stdout.println("Hello Burp in StdOut!"); //StdOut (either terminal, file or Burp's UI)
stderr.println("Hello Burp in StdErr!"); //StdErr (either terminal, file or Burp's UI)
callbacks.addSuiteTab(new HelloBurpTab()); //Custom tab with custom UI components
}
private class HelloBurpTab implements ITab {
@Override
public String getTabCaption() {
return "Hello Burp Tab!";
}
@Override
public Component getUiComponent() {
Panel panel = new Panel();
panel.setBackground(Color.gray);
Button button = new Button("Hello Burp Button!");
panel.add(button);
callbacks.customizeUiComponent(panel); //customize UI components in line with Burp's UI style
return panel;
}
}
}