一、写在前面
很久没更新了,一个是事情比较多、杂,而且这段时间有很多新知识和认知的冲击,不得不停下来沉淀一下。今天起正式开始一个新的模块——burp插件开发。
二、插件要求
开发burp插件,一个是满足硬性功能要求,一个是界面尽量简洁工整。提取共性,第一次的例子就偏简单一些——完成burp界面的创建,并在界面中显示监听请求和回显的信息。
三、开发过程
1.注意事项写在前面:
在burp中写入拓展,一定要会用burp的api,具体怎么看、怎么用、怎么引入这里就不详细说明了,我这里放入两个师傅的博客,都是可行的方法。个人更喜欢maven引入的方式,会界面会比较简洁~
maven方式——https://www.cnblogs.com/piaomiaohongchen/p/16869829.html
导入burp的api——https://www.cnblogs.com/wjrblogs/p/16618145.html
2.代码- package burp;
- import javax.swing.*;
- import java.awt.*;
- import java.io.PrintWriter;
- public class BurpExtender implements IBurpExtender, IHttpListener, ITab{
- private IBurpExtenderCallbacks callbacks;
- private PrintWriter stdout;
- private JPanel jPanelMain;
- private JTextArea jta;
- @Override
- public void registerExtenderCallbacks(IBurpExtenderCallbacks iBurpExtenderCallbacks) {
- //插件名称
- this.callbacks = iBurpExtenderCallbacks;
- callbacks.setExtensionName("First BurpExtender");
- //插件激活时显示的内容
- this.stdout = new PrintWriter(callbacks.getStdout(),true);
- this.stdout.println("Hello~");
- //注册监听器
- callbacks.registerHttpListener(this);
- //添加burp标签
- callbacks.addSuiteTab(this);
- }
- @Override
- public String getTabCaption() {
- return "Tools";
- }
- @Override
- public Component getUiComponent() {
- if (jPanelMain == null){
- jPanelMain = new JPanel();
- jPanelMain.setLayout(new BorderLayout());
- jta = new JTextArea();
- //设置滚动条
- JScrollPane jScrollPane = new JScrollPane(jta);
- jPanelMain.add(jScrollPane,BorderLayout.CENTER);
- }
- return jPanelMain;
- }
- @Override
- public void processHttpMessage(int i, boolean b, IHttpRequestResponse iHttpRequestResponse) {
- stdout.println(
- (b ? "HTTP request to ":"HTTP response from ")+iHttpRequestResponse.getHttpService()+"["+callbacks.getToolName(i)+"]"
- );
- this.jta.append((b ? "HTTP request to ":"HTTP response from ")+iHttpRequestResponse.getHttpService()+"["+callbacks.getToolName(i)+"]");
- this.jta.append("\n");
- }
- }
复制代码 3.实现效果


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |