Tag:burpsuite

Tag (burpsuite)'s result:

burpsuite插件开发总结

0x00 基础 burpsuite api: interface: 用java开发插件就把这个burp文件夹放到工程目录即可 javadoc 在线版 https://portswigger.net/burp/extender/api/index.html   官方教程: https://portswigger.net/burp/extender/ https://portswigger.net/blog/writing-your-first-burp-suite-extension https://portswigger.net/blog/archive?y=2012_12_01_archive.html   推荐用 Java,执行效率高,不会出现奇奇怪怪的问题…… //图片来源于网络 插件入口和帮助接口类: IBurpExtender、IBurpExtenderCallbacks、IExtensionHelpers、IExtensionStateListener IBurpExtender接口类是Burp插件的入口,所有Burp的插件均需要实现此接口,并且类命名为BurpExtender。 IBurpExtenderCallbacks接口类是IBurpExtender接口的实现类与Burp其他各个组件(Scanner、Intruder、Spider……)、各个通信对象(HttpRequestResponse、HttpService、SessionHandlingAction)之间的纽带。 IExtensionHelpers、IExtensionStateListener这两个接口类是插件的帮助和管理操作的接口定义。   UI相关接口类: IContextMenuFactory、IContextMenuInvocation、ITab、ITextEditor、IMessageEditor、IMenuItemHandler 这类接口类主要是定义Burp插件的UI显示和动作的处理事件,主要是软件交互中使用。   Burp工具组件接口类: IInterceptedProxyMessage、IIntruderAttack、IIntruderPayloadGenerator、IIntruderPayloadGeneratorFactory、IIntruderPayloadProcessor、IProxyListener、IScanIssue、IScannerCheck、IScannerInsertionPoint、IScannerInsertionPointProvider、IScannerListener、IScanQueueItem、IScopeChangeListener 这些接口类的功能非常好理解,Burp在接口定义的命名中使用了的见名知意的规范,看到接口类的名称,基本就能猜测出来这个接口是适用于哪个工具组件。   HTTP消息处理接口类: ICookie、IHttpListener、IHttpRequestResponse、IHttpRequestResponsePersisted、IHttpRequestResponseWithMarkers、IHttpService、IRequestInfo、IParameter、IResponseInfo 这些接口的定义主要是围绕HTTP消息通信过程中涉及的Cookie、Request、Response、Parameter几大消息对象,通过对通信消息头、消息体的数据处理,来达到控制HTTP消息传递的目的。 —https://t0data.gitbooks.io/burpsuite/content/chapter16.html   0x01 常用的接口和方法 public interface IBurpExtender void registerExtenderCallbacks(IBurpExtenderCallbacks callbacks) demo: public class BurpExtender implements IBurpExtender, ITab, IContextMenuFactory, ActionListener{ public void registerExtenderCallbacks(IBurpExtenderCallbacks callbacks) { callbacks.setExtensionName(“burp-info-extractor”); this.hps = callbacks.getHelpers(); this.cbs = callbacks; callbacks.registerContextMenuFactory(this);   public interface IBurpExtenderCallbacks demo: callbacks.setExtensionName(“burp-info-extractor”); callbacks.registerContextMenuFactory(this);   public interface IExtensionHelpers IRequestInfo analyzeRequest(IHttpRequestResponse request); IResponseInfo analyzeResponse(byte[] response); demo: reqHeaders = self._helpers.analyzeRequest(requestResponse).getHeaders()   public interface IScannerCheck List<IScanIssue> doPassiveScan(IHttpRequestResponse baseRequestResponse); demo: def doPassiveScan(self, baseRequestResponse): islaunchBurpUnauthChecker = int(self.launchBurpUnauthCheckerCheckBox.isSelected()) if (not islaunchBurpUnauthChecker) or (self.isFilterSuffix(baseRequestResponse)) or (self.isFilterStatusCode(baseRequestResponse)): return scan_issues = [] newRequestResponse = self.sendUnauthenticatedRequest(baseRequestResponse) #print str(self._helpers.analyzeRequest(baseRequestResponse).getUrl()) + ‘\n’ issue = self.compareResponses(newRequestResponse, baseRequestResponse) scan_issues.append(issue) return scan_issues def consolidateDuplicateIssues(self, isb, isa): return -1   public interface IHttpListener void processHttpMessage(int toolFlag, boolean messageIsRequest, IHttpRequestResponse messageInfo);   toolFlag在public interface IBurpExtenderCallbacks中可查看 /** * Flag used to identify Burp Suite as a whole. */ int TOOL_SUITE = 0x00000001; /** * Flag used to identify……

burpsuite使用技巧

1.限制目标scope   2.流量筛选 还有site map – 选中目标 – 右键 – add to scope / intercept – 右键 – don’t intercept this request – to this host   3.快捷键   4.解决中文乱码 选中文字体+选网页编码   5.intruder匹配中文 正则匹配 – 中文转换成十六进制   6.token刷新 录制宏   7.设置代理链   8.设置证书 or or