burp suite 二级域名扫描插件

很久以前就有自己写插件的想法了,但是后来忘掉了。刚好最近有人发,果断研究了下。

image

burp的api可以去官方直接下,也可以如上图那些充burp主程序中导出。

把导出的api 导入eclipse就可以开始写了。

二级域名这个插件需要实现下面两个接口。

BurpExtender     每个burp的插件都必须要有这个类,实现IBurpExtender接口

IBurpExtender    这个接口非常重要。里面包含很多信息。比如请求,响应。之类的。注册右键菜单也需要。

IContextMenuFactory 这是右键菜单的接口。

下面是BurpExtender类内容:

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.List;

import javax.swing.JMenuItem;

public class BurpExtender implements IBurpExtender,IContextMenuFactory {

	IBurpExtenderCallbacks callbacks;
	subdomain sub ;
	@Override
	public void registerExtenderCallbacks(IBurpExtenderCallbacks callbacks) {
		// TODO Auto-generated method stub
		sub = new subdomain();
		//设置应用名称
		callbacks.setExtensionName("subdomain");
		//subdomain布局
		callbacks.customizeUiComponent(sub);
		//添加tab
		callbacks.addSuiteTab(sub);
		this.callbacks = callbacks;
		//注册右键菜单
		callbacks.registerContextMenuFactory(this);
	}

	@Override
	public List<JMenuItem> createMenuItems(final IContextMenuInvocation invocation) {
		//创建右键菜单
		JMenuItem jm = new JMenuItem("send subdomain");
		//菜单的事件
		jm.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent arg0) {
				// TODO Auto-generated method stub
				new ui(invocation,callbacks,sub);
			}
		});
		List<JMenuItem> list = new ArrayList<JMenuItem>();
		list.add(jm);
		return list;
	}

}
View Code

上面的注释很清楚了,只要是你想实现什么功能,你就实现什么接口。

源码

posted @ 2016-03-30 16:48  spr1ng  阅读(901)  评论(0编辑  收藏  举报