Burp Suite API学习思路

本文介绍了Burp Suite的扩展开发,特别是如何利用API开发插件。从Burp的Extender模块开始,讨论了插件开发环境的准备,包括选择Java作为开发语言和使用MyEclipse作为IDE。详细讲解了IBurpExtender接口及其processHttpMessage方法,展示如何处理HTTP请求和响应。最后,阐述了如何将开发的插件打包并导入Burp进行使用。
摘要由CSDN通过智能技术生成

i春秋-核心白帽:yanzm


Burp Suite是每个web安全学习者都接触过的集成平台,包含集合了多种渗透测试组件,除了强大的功能外,官方还提供API支持使用者开发插件,满足你独特的需求。

0×00   Burp Suite扩展模块

斗哥这里从Burp的Extender(扩展)模块为出发点,讲述Burp的扩展开发,其它模块功能的使用大家可以查看公众号Burp Suite使用的系列的文章。

Burp Extender的Extension页面中,可以手动添加开发好的插件,显示已添加的插件进行管理。

image.png

BApp Store的页面中左边为各个插件的应用列表,当选中某个插件后,右侧显示的为该插件的描述信息和安装信息。如果我们需要使用某个插件,则点击右侧下方的【install】按钮,进行安装。描述信息中可能提供源码的地址可以阅读学习或者修改源码来实现想要的功能。

image.png

APls界面由左边的接口类和右边的接口定义和描述构成,其中左边的最下端有两个按钮,图中1按钮为保存接口类,图中2按钮为保存Javadocs。

image.png

保存接口类,当我们点击保存后,在指定的存储目录下,会生成一系列的java文件如下图:  

image.png

保存Javadocs,点击保存后,会在存储目录中存放与API相对应的JavaDocs文件。来说明API的使用,用浏览器打开则如下图所示:

image.png

0×01   API简述

我们可以把JAVA接口看成一个高级类,与普通类不同的是我们要实现它的所有方法,相当于burp定出的“规则”,我们在开发时一定要遵守“规则”才能实现接口方法功能,“规则”包括有接口的实例化(实现方法)、接口方法入参(参数类型和参数个数)、接口方法的返回值(返回值类型)。我们在JavaDocs可以查看这些“规则”。

接口类的使用说明除了上文说的,我们能导出JavaDocs到本地外,Burp官方也提供了一份在线文档,地址 为:https://portswigger.net/burp/extender/api/index.html

下面根据接口功能的不同对API 进行分类:

1. 插件入口和帮助接口类:IBurpExtender、IBurpExtenderCallbacks、 IExtensionHelpers、IExtensionStateListener

IExtensionHelpers、IExtensionStateListener IBurpExtender接口类是Burp插件的入口,所有Burp的插件均需要实现此接口,并且 类命名为BurpExtender。IBurpExtenderCallbacks接口类是IBurpExtender接口的实 现类与Burp其他各个组件(Scanner、Intruder、Spider……)、各个通信对象 (HttpRequestResponse、HttpService、SessionHandlingAction)之间的连接。 IExtensionHelpers、IExtensionStateListener这两个接口类是插件的帮助和管理操作的接口定义。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值