python热更新_burp插件再次二开,实现python热更新和IDE集成

8af8eac2eda5aa3ed317b53350551da0.png

所以想在burp上增加一些自己想要的功能

这个插件是一个在burp上创建一个tab以提供写入python代码的地方,并且以执行。

但是这个插件不适用于中文,而且反复加载特别的麻烦,我对他做了一些修改,注意这两个文件需要放在一起

76d9597a7c8c8cfcc1b175ed8696a81b.png

我制作了darkhold.py版本的修改后代码,darkhold可以热加载learn.py,也就是每一次burp处理http数据时都会重新读取learn.py并执行

# -*- coding: utf-8 -*-

# Author:k4n5ha0

# Blog:https://my.oschina.net/9199771

# Python Import

from java.awt import Font

from javax.swing import JScrollPane, JTextPane

from javax.swing.text import SimpleAttributeSet

from burp import IBurpExtender, IExtensionStateListener, IHttpListener, ITab

import base64

import traceback

import os

import time

class BurpExtender(IBurpExtender, IExtensionStateListener, IHttpListener, ITab):

def registerExtenderCallbacks(self, callbacks):

self.callbacks = callbacks

self.helpers = callbacks.helpers

callbacks.setExtensionName("darkhold")

self._code = compile("", "", "exec")

self._script = ""

callbacks.registerExtensionStateListener(self)

callbacks.registerHttpListener(self)

print "loaded success!"

def extensionUnloaded(self):

return

def processHttpMessage(self, toolFlag, messageIsRequest, messageInfo):

try:

globals_ = {}

locals_ = {"extender": self,

"callbacks": self.callbacks,

"helpers": self.helpers,

"toolFlag": toolFlag,

"messageIsRequest": messageIsRequest,

"messageInfo": messageInfo

}

exec(self.code, globals_, locals_)

time.sleep(0.1)

except Exception:

traceback.print_exc(file=self.callbacks.getStderr())

return

@property

def code(self):

path_script = os.path.abspath(".") + os.sep + "learn.py"

if os.path.exists(path_script):

f = open(path_script, "r")

self._script = f.read().decode("utf-8")

f.close()

self._code = compile(self._script, "", "exec")

return self._code

return ""

93ea0c8b3e73c2049c1b57e7e44fb651.png

24a52855dc94f30c9226090c5f116740.png

这样就可以用vscode方便编程:

5b4498a538283c66191fd1aed1faa836.png

不知道为何还是有点bug,后续会加强,未来逐渐增加点新功能。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值