利用Python开发Burp Suite插件的示例分析

这篇文章将为大家详细讲解有关利用Python开发Burp Suite插件的示例分析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

我们会在每个参数后面插入大量 sql 注入检测参数,并且通过接口类获取发送的请求数据和接收响应数据,然后根据响应数据判断 sql 注入漏洞是否存在。

所需要的接口类

利用Python开发Burp Suite插件的示例分析

IIntruderPayloadProcessor:

这是一个 Intruder 工具的 payload 处理器,我们可以通过 IBurpExtenderCallbacks.registerIntruderPayloadProcessor() 注册一个。此类里面有两个函数需要实现 getProcessorName()和 processPayload()

利用Python开发Burp Suite插件的示例分析

getProcessorName 方法:

用于获取 payload 处理器的名称

processPayload 方法:

当处理器每次应用 payload 到一次 Intruder 攻击时,Burp 都会调用一次此方法

利用Python开发Burp Suite插件的示例分析

IHttpListener:

这是一个 http 监听器,burp 里的任何一个工具发起的 http 请求或收到 http 响应都会通知此监听器,通过 IBurpExtenderCallbacks.registerIntruderPayloadProcessor() 注册,我们可以通过这个类得到交互数据,进行分析和修改。此类里面有一个 processHttpMessage()需要实现。

利用Python开发Burp Suite插件的示例分析

processHttpMessage 方法:

需要获取所有的 http 数据包,必须通过上述接口,重写此方法。

利用Python开发Burp Suite插件的示例分析

(其他的 api 类在这不做介绍,可参考前几篇文章)

代码实现和解读

第一步:

导入我们的 burpapi 类

利用Python开发Burp Suite插件的示例分析

第二步:

将需要用到的 sql 注入语句写入数组

利用Python开发Burp Suite插件的示例分析

这里只做演示,这个地址上有大量测试语句:

https://github.com/trietptm/SQL-Injection-Payloads

第三步:

注册所有需要注册的接口类

利用Python开发Burp Suite插件的示例分析

第四步:

已经注册了 payload 生成器,现在完成我们 payload 生成器,

返回此接口的一个新实例。

利用Python开发Burp Suite插件的示例分析

第五步:

定于 intruder 工具的 payload 生成器。

利用Python开发Burp Suite插件的示例分析

第六步:

处理从 payload 生成器中返回的 payload

利用Python开发Burp Suite插件的示例分析

第七步:

先前已经注册好 http 监听器,现在使用 http 监听器获取 http 请求和响应数据,可以分析和修改交互数据。

利用Python开发Burp Suite插件的示例分析

messageInfo 是一个类,我们通过类方法获取和修改相关数据:

利用Python开发Burp Suite插件的示例分析

上图可以看见 getHttpService()会返回一个 IHttpService 实例子

利用Python开发Burp Suite插件的示例分析

通过调用里面的方法可以获取到详细的 http 信息细节。

我的 pycharm 用的是 python3 的环境变量,目前 jython 只支持 python2,所有我们必须使用 python2 的语法进行打印,将结果输出在 burp 终端。

最后贴一张完整代码:

利用Python开发Burp Suite插件的示例分析利用Python开发Burp Suite插件的示例分析

注:使用的时候如下配置

利用Python开发Burp Suite插件的示例分析

最终效果:

利用Python开发Burp Suite插件的示例分析

关于利用Python开发Burp Suite插件的示例分析就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

原创文章,作者:6024010,如若转载,请注明出处:https://blog.ytso.com/225943.html

(0)
上一篇 2022年1月8日
下一篇 2022年1月8日

相关推荐

发表回复

登录后才能评论