1. 程式人生 > >使用python編寫BurpSuite外掛(2. 編寫你的第一個burp外掛)

使用python編寫BurpSuite外掛(2. 編寫你的第一個burp外掛)

執行外掛的一些基本要點

在我們以任何語言執行burp外掛之前,我們需要明白:burp尋找一個名為BurpExtender的class來啟動(class不需要包含任何引數),之後再呼叫registerExtenderCallbacks()方法,且該方法包含callbacks引數。並把它當做你編寫外掛的入口。

配置好burp外掛執行環境之後(上一篇已經對此進行講解),我們建立一個以.py結尾的python檔案,並寫入如下內容:

from burp import IBurpExtender
class BurpExtender(IBurpExtender): 
    def registerExtenderCallbacks
( self, callbacks):
# your extension code here return

合理地使用API

首先對於編寫burp外掛來說,第一重要的事情是:大多數情況下,如果你不將資料轉換為string格式的話,你檢視的資料以byte arrays (byte[])的形式提供。
burp提供了多種多樣的objects包括HTTP requests, responses, parameters, cookies等等
Burp will provide various data objects to you which model HTTP requests, responses, parameters, cookies, etc. as well as Burp-specific items such as issues. We will discuss a number of these models under the assumption that you are familiar with HTTP and with Burp as a tool.

Assuming a starting point of the blank extension you created above, because you’ve implemented the IBurpExtender interface, the entry point for your extension will be the method:
假設我們建立好了外掛,並實現了IBurpExtender這個介面

def registerExtenderCallbacks self, callbacks)

未完待續

相關推薦

使用python編寫BurpSuite外掛2. 編寫一個burp外掛

執行外掛的一些基本要點 在我們以任何語言執行burp外掛之前,我們需要明白:burp尋找一個名為BurpExtender的class來啟動(class不需要包含任何引數),之後再呼叫registerExtenderCallbacks()方法,且該方法包含cal

利用kvaser和Python編寫監控介面2

利用Python,通過kvaser讀取CAN訊號,在DBC翻譯訊號時發生錯誤 錯誤資訊: UnicodeDecodeError:‘utf-8’ codec can’t decode byte … 解決方法: 1、利用文字編輯器(Geany)開啟DBC檔案 2、進行如下設定:“文件”-

使用python編寫opencv程式2、檢視圖片各種屬性,寫入圖片

主要語句: img.shape img.copy() cv2.imwrite(fileDir2,img,[int(cv2.IMWRITE_JPEG_QUALITY), 5]) 1、讀取屬性 可以使用img.shape屬性讀取到圖片的長度及寬度,讀出的結果為一個三元陣列,其

CLANG技術分享系列一:編寫一個CLANG外掛

轉:http://kangwang1988.github.io/blog/ 引子 以前遇到一個需求,檢測iOS App程式碼中使用到的API是否存在開始支援的系統版本高於當前deploy target,或已經在當前支援的最新系統之前(包括當前系統)已經被標記為棄用(depr

編寫一個maven外掛含完整專案

基本上快把maven實戰這本書看完了,對裡面的知識點不敢說全懂,但至少懂了個百分之六七十,不過大部分概念還是清楚地, 剩下的就需要實際的碼程式碼中去學習了。 迴歸正題,編寫一個maven外掛: 第一步: 建立一個maven專案,可以用命令列的方式建立如:mvn archet

python--DenyHttp項目2--ACM監考客戶端測試版1階段完成總結

tdi text class 測試版 window etl operate comm decode   客戶端: ‘‘‘ DenyManager.py 調用客戶端與客戶端界面 ‘‘‘ from DenyClient import * from DenyGui import

我的一個python web開發框架2——一個簡單的小外包

span 技術 進行 target 最好 自己 blog height 描述   第一部分說明   第一部分大概有20來章,主要講的是一些開發常識、開發前中後期準備內容、開發環境與服務器部署環境安裝設置、python基礎框架結構與功能等內容,代碼會比較簡單。   

Python叠代器2 —— 實現for循環

auth style code true next() logs div nbsp while Python的for循環本質上就是通過不斷調用next()函數實現的,例如: 1 #_*_coding:utf-8_*_ 2 #__author__ = "csy" 3

Ubuntu Desktop 16.04 LTS 下成功配置Jupyter的兩個python內核版本2.7x,3.5x)

kernel 路徑 ins des ubuntu lsp python sudo 下載 Ubuntu Desktop 16.04 LTS 安裝好系統默認就有python兩個不同版本(2.7.12和3.5.2) 現在來熟悉一下jupyter的對python這

caffe的python接口學習2生成solver文件

慢慢 oot __name__ nap gpu 計算 snapshot pro copy caffe在訓練的時候,需要一些參數設置,我們一般將這些參數設置在一個叫solver.prototxt的文件裏面 有一些參數需要計算的,也不是亂設置。 假設我們有50000個訓練樣本

Python學習之路2——Python種類介紹

VM 種類 廣泛 分享 java字節碼 流程 字節碼 基礎上 python Python的種類 Cpython Python的官方版本,使用C語言實現,使用最為廣泛,CPython實現會將源文件(py文件)轉換成字節碼文件(pyc文件),然後運行在Python虛擬

python圖像處理2圖像水印和PIL模式轉化

tex 我們 參考 height rom 設置 分享 show pen 模式轉化: PIL模式轉化:將圖片轉化成其他模式 1 # 我們將image圖像轉化為灰度圖像(python) 2 from PIL import Image 3 img = Image.open

appium+python的APP自動化2

.exe path 輸入 地址 cat 打開 installer tor sof 上節說到安卓上的測試環境都安裝好了,這個時候要安裝python了 1python的安裝 https://www.python.org/15官網下載python2.7(3.0以上也行,個人愛好)

爬蟲開發python工具包介紹 2

dir 部分 loop 網易 pat 選擇 服務器 mode follow 本文來自網易雲社區作者:王濤可選參數我們一一介紹一下:參數釋義示例params生成url中?號後面的查詢Key=value示例1: >>>payload = {‘key1‘: ‘v

python爬蟲讀書筆記2

1.網站地圖爬蟲 def crawl_sitemap(url): #下載網站地圖檔案 sitemap=download(url) #正則表示式,從<loc>標籤中提取出URL,獲得網站地圖連結 links=re.findall('<loc>

PYTHON 異常的使用2

#簡單一場案例3 try:     num=int(input('please input your number'))     rst=100/num     print('計算結果為{0}'.format(

python數字影象處理2:影象的讀取、顯示與儲存

skimage提供了io模組,顧名思義,這個模組是用來圖片輸入輸出操作的。為了方便練習,也提供一個data模組,裡面嵌套了一些示例圖片,我們可以直接使用。 引入skimage模組可用: 1 from skimage import io

編寫MapReduce程式簡單的電話被呼叫分析程式

由於Hadoop 2.2.0目前還沒有好用的Eclipse外掛,目前使用Eclipse上編寫程式碼,而後放到Hadoop環境執行的形式。 準備工作: 1、搭建Hadoop環境,建立專案,專案的BuildPath中新增所有Hadoop中的jar包; 2、構造資料集:每一行資料兩個號碼組成,

吳裕雄 python oracle檢索資料2

import cx_Oracle conn = cx_Oracle.connect("scott/[email protected]:1521/orcl")cursor = conn.cursor() sql = "select ascii('Z'),ascii('H'),ascii('D'),

python筆記----pandas部分2

#coding=utf-8 import pandas as pd import numpy as np#泰坦尼克號獲救人員統計例子 titanic_survival = pd.read_csv("titanic_train.csv")print(titanic_surviv