望着大河弯弯,终于敢放胆。
简介
本篇介绍一下如何使用 Python 编写 BurpSuite 插件.
Jython 简介
BurpSuite 是使用 Java 编写的, 如果想要是用 Python 编写, 就需要借助于 Jython.
Jython是一种完整的语言,而不是一个Java翻译器或仅仅是一个Python编译器,它是一个Python语言在Java中的完全实现。Jython也有很多从CPython中继承的模块库。最有趣的事情是Jython不像CPython或其他任何高级语言,它提供了对其实现语言的一切存取。所以Jython不仅给你提供了Python的库,同时也提供了所有的Java类。这使其有一个巨大的资源库。
安装 Jython
这里以 MacOS 为例:
1 | brew install jython |
安装完成之后, Jython 安装在 /usr/local/Cellar/jython 中, 配置环境变量:
1 | export JYTHON_HOME=/usr/local/Cellar/jython/2.7.1/libexec |
然后可以在终端中输入 jython:
1 | Jython 2.7.1 (default:0df7adb1b397, Jun 30 2017, 19:02:43) |
到这里 Jython 就安装完成了.
加载 Jython
Python 编写的插件文件后缀为 py 文件,不能由 Burp 直接加载,所以在加载前需要先设置 Jython 的路径。
在 Jython 官方下载页面选择 Jython 独立 jar 包。下载好后,按照下图所示设置:
加载 Python 插件
选择要添加的插件
说明: 类型选择 Python; 输出选择控制台, 因为没有 UI.
test.py
1 | #!/usr/bin/env python |
添加成功
编写 Burp GUI 插件
使用 Python 调用 Java 的 swing 图形控件库并绑定相关事件。
guiTest.py
1 | #!/usr/bin/env python |
同样的, 添加插件
这里我们可以看到多出来一个 TestPlugin 的 Tab.