10.1 Burp Suite 擴展器
Burp Extender允許您使用Burp擴展名,以使用您自己的代碼或第三方代碼來擴展Burp的功能。您可以加載和管理擴展,查看有關已安裝擴展的詳細信息,從BApp Store安裝擴展,查看當前的Burp Extender API以及配置有關如何處理擴展的選項。
Burp擴展可以通過多種方式自定義Burp的行為,例如修改HTTP請求和響應,自定義UI,添加自定義Scanner檢查以及訪問關鍵的運行時信息,包括代理歷史記錄,目標站點地圖和Scanner問題。
加載和管理擴展
下表顯示了所有已安裝擴展的列表。您可以使用擴展表旁邊的按鈕添加,刪除和重新排序擴展。請注意:
- 顯示擴展的順序是調用任何注冊的偵聽器和其他擴展資源的順序。
- 擴展名可以卸載但保留在表中,以便以后重新加載。要切換擴展名的加載狀態而不將其從列表中刪除,請單擊“已加載”列或擴展名詳細信息面板中的復選框。
注意:您可以通過Ctrl +單擊“已加載”復選框來快速重新加載擴展。這將卸載并重新加載擴展而不顯示確認對話框。
- 要運行以Python編寫的擴展,您首先需要在Python環境選項中配置Jython獨立JAR的位置。
擴展詳細信息
在擴展名表中選擇一個項目會在下面的面板中顯示有關該擴展名的信息。
在詳細信息選項卡顯示以下信息:
- 當前是否已加載擴展。您可以單擊復選框以加載或卸載所選擴展。
- 擴展名。擴展程序可以通過編程設置其首選名稱,該名稱顯示在UI中。您可以根據需要手動編輯此名稱。
- 擴展的類型(Java或Python)。
- 從中加載擴展名的文件。
- 擴展使用的方法,偵聽器和其他資源的詳細信息。
“ 輸出”選項卡包含擴展的標準輸出流的詳細信息,而“ 錯誤”選項卡包含有關標準錯誤流的相同信息。對于每個流,您可以配置是將應用程序的輸出定向到系統控制臺,還是將其存儲到文件中,或顯示在UI中。請注意:
- 基于UI的輸出窗口的大小受到限制,并且不適用于繁重的日志記錄。
- 擴展負責將其輸出和錯誤消息定向到Burp分配給它們的正確流,這些流可以通過可擴展性API編程獲得。不考慮此要求的擴展程序可能會將輸出直接定向到系統控制臺,而不管此處指定的設置如何。
BApp商店
BApp Store包含Burp Suite用戶編寫的Burp擴展,以擴展Burp的功能。
您可以查看可用的BApp列表,安裝特定的BApp并為已安裝的BApp提交用戶評級。
如果無法從運行Burp的計算機訪問Internet,則可以從BApp Store網站下載BApp文件,然后將其手動安裝到Burp中。
有些BApp是用Python或Ruby編寫的,要求您下載Jython或JRuby,并使用相關語言解釋器的位置配置Burp。某些BApp可能需要更新版本的Burp或其他版本的Burp。
Burp Extender API
此選項卡包含可用于創建Burp擴展的API的詳細信息。清單顯示了正在運行的Burp版本中可用的API。從列表中選擇接口名稱以完整顯示接口代碼。
您還可以使用“保存界面文件”和“保存Javadoc文件”按鈕來保存這些文件的本地副本,以供開發擴展時使用。
擴展器選項
此選項卡包含擴展設置,Java環境,Python環境和Ruby環境的選項。
設定值
可以使用以下設置:
- 是否在啟動時自動重新加載擴展。注意:如果在選擇了此設置的情況下關閉了Burp,但是您仍然希望在不自動重新加載任何擴展名的情況下重新啟動Burp,則可以使用命令行標志
--disable-extensions來啟動Burp 。這將防止Burp自動重新加載任何擴展。 - 是否在啟動時自動更新已安裝的BApp。
Java環境
這些設置使您可以配置用于執行用Java編寫的擴展的環境。如果您的擴展使用任何庫,則可以指定將從中加載庫的文件夾。Burp將在此文件夾和任何子文件夾中搜索JAR文件,并將這些文件包含在用于加載Java擴展的類加載器的類路徑中。
Python環境
這些設置使您可以配置用于執行用Python編寫的擴展的環境。要使用Python擴展,您需要下載Jython,這是用Java實現的Python解釋器。提供以下選項:
- Jython獨立JAR文件的位置-這是您下載Jython的位置。您必須下載Jython的獨立版本。
- 加載模塊的文件夾 -此設置是可選的,可用于指定一個文件夾,Python解釋器應從該文件夾嘗試加載擴展所需的模塊。如果已配置,此選項將使Burp用指定的位置更新Python
sys.path變量。如果您創建了自己的Python庫集以供多個單獨的擴展使用,則使用此選項很有用。
注意:由于Jython動態生成Java類的方式,如果加載多個不同的Python擴展,或者多次卸載并重新加載Python擴展,則可能會遇到內存問題。如果發生這種情況,您將看到類似以下的錯誤:
java.lang.OutOfMemoryError: PermGen space
通過將Java配置為分配更多的PermGen存儲,或者在啟動Burp時在命令行中添加一個-XX:MaxPermSize選項,可以避免此問題。例如:
java -XX:MaxPermSize=1G -jar burp.jar
Ruby環境
這些設置使您可以配置用于執行用Ruby編寫的擴展的環境。要使用Ruby擴展,您需要下載JRuby,這是用Java實現的Ruby解釋器。請注意,您可以在此處配置JRuby JAR文件的位置,也可以在啟動時通過Java類路徑加載JAR文件。
注意:如果加載多個Ruby擴展,則PermGen存儲可能會出現與Python環境中所述相同的問題,并且可以通過相同的方式解決該問題。
Burp Suite中文使用教程(桌面版)
推薦文章: