<span id="7ztzv"></span>
<sub id="7ztzv"></sub>

<span id="7ztzv"></span><form id="7ztzv"></form>

<span id="7ztzv"></span>

        <address id="7ztzv"></address>

            原文地址:http://drops.wooyun.org/tools/5751

            0x00 簡介


            Burpsuite作為web測試的神器,已經人手必備了。它提供的一系列互相配合的工具,極大的提高了手工測試的效率,從1.5版本開始,Burpsuite開始支持擴展。用戶可以自己開發擴展實現一些特殊的需求。不過目前關于Burpsuite擴展開發的中文資料很少。這里拋磚引玉總結一下學習的過程。

            0x01 基礎知識


            目前burpsuite官方支持用java,python,ruby開發擴展,選擇還是很多的。Brupsuite的擴展可以實現非常多的功能,比如自定義掃描,修改http請求和響應,修改burp配置等等。幾乎所以burpsuite功能都支持在擴展中進行控制。所以其實是可以用擴展把自己經常使用的功能做成自動化的。這也應該是一個最終的學習目標。官方文檔是首選的資料。中文介紹資料可以參考BurpSuite擴展API和HelloWold

            0x02 環境配置


            安裝python開發的擴展需要配置Jython環境。Jython下載直接下載Standalone Jar版本就可以。在extender標簽頁中選擇options標簽。在python environment中選中剛剛下載的jython standalon jar。

            images

            如果下載的是jython installer。需要在安裝的時候選擇standlone類型。之后再在burpsuite中選擇安裝目錄下的jython.jar.

            如果沒有配置好jython環境。添加python編寫的擴展會報錯。

            0x03 常用接口介紹


            burpsuite的文檔中給了多個樣例以及詳細的API文檔

            個人覺得最快的方法還是閱讀現成的擴展代碼。很多需求稍微修改現成的擴展就可以完成。Burp的Bapp store里的擴展安裝之后默認是在burpsuite同目錄下的bapps的文件夾內。

            簡單介紹一下幾個最常用的接口:

            interface IBurpExtender: 這個接口所有的擴展都需要實現.

            Interface IBurpExtenderCallbacks: 這個接口幾乎是必備的。在編寫擴展的過程中會經常用到。

            Interface IExtensionHelpers: 這個接口是新加的。提供了編寫擴展中常用的一些通用函數,比如編解碼、構造請求等。這樣就不需要重負造輪子了。

            Interface IHttpRequestResponse: 這個接口包含了每個請求和響應的細節。在Brupsuite中的每個請求或者響應都是IHttpRequestResponse實例。

            0x04 第一個burpsuite擴展


            在web測試過程中,使用repeater調試接口是很常見的一個使用方式。現在很多接口都是返回包含unicode明文的json數據,比如這種

            {"result":"passwd_error","msg":"\u7528\u6237\u540d\u5bc6\u7801\u9519\u8bef"}
            

            由于brup的decoder沒有對unicode的解碼,每次想要看一下這些unicode是是什么意思的時候都需要復制出來使用其他工具解碼。可以使用burp擴展來實現自動解碼unicode,從而提高測試的流暢性。

            首先引入所需要的模塊,在BurpExtender類中定義我們需要的方法。

            toolFlag是burpsuite中對工具進行識別的方式,proxy是4,repeater是64.可以在文檔里查看所有工具對應的flag值。這里幾行代碼就是先解碼返回值,查找unicode明文,進行解碼,之后再更新響應的body。

            加載擴展之前,repeater看到的返回:

            加載擴展之后:

            代碼下載地址:github

            0x05 相關資料


            BurpSuite 擴展開發[1]-API與HelloWold burpextensions.com

            <span id="7ztzv"></span>
            <sub id="7ztzv"></sub>

            <span id="7ztzv"></span><form id="7ztzv"></form>

            <span id="7ztzv"></span>

                  <address id="7ztzv"></address>

                      亚洲欧美在线