Python编写Burpsuite插件(一)

1.Jython简介

BurpSuite是使用Java编程语言编写的,所以想要使用Python编程语言开发其插件,就必须使用Jython。Jython本质上是一个Java应用程序,它允许编码人员使用Java编码调用Python库反之,也可以使用Python调用Java的库。

有关Jython的详细使用,请读者参见Jython官网的用户手册和相关文档。

放在Jython的Project中,还有JRuby,并且Burp也支持ruby编写插件,但是无论是用Python还是Ruby编写的插件,在执行效率方面远远不如原生的Java高,所以笔者还是建议使用Java编写插件。

 

下载链接:https://www.jython.org/download

默认安装即可

 

2.BurpSuite 加载 Jython

Python编写Burpsuite插件(一)

Python编写Burpsuite插件(一)

 

3.BurpSuite API基础知识

Burp Suite官方API文档: https://portswigger.net/burp/extender/api/index.html

Python编写Burpsuite插件(一)

BurpSuite 上的API 介绍

Python编写Burpsuite插件(一)

 

官方给出了简单的插件示例

https://portswigger.net/burp/extender#SampleExtensions

Python编写Burpsuite插件(一)

 

 

4.编写Demo插件代码

首先需要导入burp的相关库

Python编写Burpsuite插件(一)

 

IBurpExtender 是必须的,是入口类 注册模块用的

然后使用IBurpExtender 编写模块注册

 

编写输出Hello World 插件

Python编写Burpsuite插件(一)

输出流显示位置

Python编写Burpsuite插件(一)

报错流输出 以及引发的异常输出 

Python编写Burpsuite插件(一)

仪表盘 事件日志输出

Python编写Burpsuite插件(一)