Burpsuite Python插件開發(fā) - 編程環(huán)境篇

java2python

使用java2python將網(wǎng)上的java代碼(如swing示例代碼)轉(zhuǎn)成python,方便開發(fā)。java2python基于python2編寫,也很久沒維護(hù)了,但還是可以用用。

安裝(直接使用pip install java2python安裝不成功,參考https://github.com/natural/java2python/issues/40):

virtualenv -p python2 env_j2py
. env_j2py/bin/activate
pip install http://antlr3.org/download/Python/antlr_python_runtime-3.1.3.tar.gz
pip install https://github.com/downloads/natural/java2python/java2python-0.5.1.tar.gz

使用:

  1. 輸入文件: 執(zhí)行j2py file.java

  2. 使用標(biāo)準(zhǔn)輸出: 執(zhí)行j2py, 輸入java代碼,按Ctrl+d 結(jié)束輸入

結(jié)果有些錯(cuò)誤,需手動(dòng)修改下

使用IDEA開發(fā)

參考:https://overthread99.wordpress.com/2017/07/11/import-java-jars-into-intellij-jython-project/

  1. 新建工程,選擇Empty Project

  2. 安裝Python插件:File->Settings->Plugins,搜索Python插件并安裝

  3. 設(shè)置SDK:File->Project Structure->project->選擇Jython.exe作為SDK

  4. 添加Libraries:File->Projcet Structure->Libraries->點(diǎn)擊+按鈕(New Project Library)->選擇Java->選擇JDK里JRE里的lib目錄。


    addJavaLibraries.png

    再添加一項(xiàng)選擇burpsuite.jar路徑

  5. IDEA支持對(duì)Java類、方法的Auto-complete。(PyChram不支持)

調(diào)試

利用簡(jiǎn)單的輸出來調(diào)試:

  1. print("output")、callback.printOutput("output"):輸出到Extender->選擇自己的插件->Extensions->Output

  2. callback.printError("error"):輸出到Extender->選擇自己的插件->Extensions->Errors

使用pdb調(diào)試burpsuite插件的Python代碼層(參考: https://www.foote.pub/2015/04/08/burp-extender-python.html):

  1. 在實(shí)現(xiàn)IBurpExtenderregisterExtenderCallbacks(self, callbacks)方法里加上:

    import sys
    sys.stdout = callbacks.getStdout()
    sys.stderr = callbacks.getStderr()
    
  2. 在需要調(diào)試的地方加import pdb; pdb.set_trace()來下斷點(diǎn)

  3. 使用終端運(yùn)行burpsuite:java -jar -Xmx1g -XX:MaxPermSize=1G burpsuite_pro.jar 。(也可以配置IDEA的Run/Debug Configurations,添加一項(xiàng)Jar Application類型的運(yùn)行配置,示例:)

    runConfigurationExample.png

  4. burpsuite添加自己的插件,并將插件的OutputErrors勾選為Output to system console

  5. 當(dāng)運(yùn)行到pdb.set_trace()時(shí)終端就出現(xiàn)pdb調(diào)試會(huì)話。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容