<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    6.2 Burp Suite如何與 CI系統集成

    您可以使用REST API輕松地將現有CI系統與Burp Suite企業版集成。我們已經為Jenkins和TeamCity提供了本機插件,以及通用的CI驅動程序,因此您可以手動集成您使用的任何其他平臺。

    完成集成后,掃描將作為CI管道的一部分自動觸發。

    創建用于集成的API用戶

    無論您要集成哪個CI系統,第一步都是創建一個專用的API用戶,CI系統將使用該API用戶與Burp Suite 企業版通信。

    1. 以管理員身份登錄Burp Suite企業版,然后轉到“團隊”頁面。
    2. 在“用戶”選項卡上,單擊“新用戶”按鈕。
    3. 輸入名稱和用戶名,例如“ Jenkins Build”,以幫助您以后輕松識別用戶。
    4. 輸入電子郵件地址,例如,管理員用戶的電子郵件地址。
    5. 選擇登錄類型“ API密鑰”。
    6. 選中復選框,將用戶添加到默認的“掃描啟動器”組。
    7. 如果對更改感到滿意,請單擊右上角的保存圖標。
    8. 出現提示時,復制API密鑰和URL,并將其保存在安全的地方。您稍后將需要這些。

    請注意,您無法檢索現有用戶的API密鑰。如果丟失它,則必須生成一個新密鑰并手動更新使用它的任何文件。

    現在,您已經創建了API用戶,您可以使用它來配置與所選CI系統的集成。

    創建一個API用戶

    集成 Jenkins

    借助我們現成的插件,將Burp Suite企業版與Jenkins集成變得非常簡單。請注意,您需要在Burp Suite 企業版中創建API用戶,然后才能執行下一步。

    以下步驟是將Jenkins與Burp Suite 企業版集成的最低配置要求。這些步驟將啟用具有默認掃描定義的未經身份驗證的掃描。

    1. 請訪問網站并下載Jenkins的Burp插件。下載內容包含一個簡單的.hpi文件。
    2. 以管理員身份登錄到Jenkins。
    3. 轉到“管理Jenkins”>“管理插件”,然后打開“高級”標簽。
    4. 在“上傳插件”下,上傳您剛剛下載的.hpi文件。
    5. 重新啟動Jenkins。
    6. 在Jenkins中選擇一個現有管道,然后打開配置設置。
    7. 根據您的平臺,添加包含以下命令的“執行shell”或“執行Windows批處理命令”構建步驟:
      echo BURP_SCAN_URL = http://your-target-server/
      此步驟將以正確的格式在其構建日志中輸出目標URL,以供插件在下一步中處理。例如,如果您使用更具動態性的部署到Docker容器,則此步驟應輸出多個URL,所有URL將根據您的掃描配置進行匯總和掃描。
    8. 添加一個“ Burp scan”構建步驟。
    9. 在“ Burp API的URL”下,輸入您先前創建API用戶后復制的API URL。該格式應為http://your-enterprise-server/api/your-burp-api-key/
    10. 您可以根據需要調整其他各種設置。例如,您可以指定嚴重性最低的問題,它將導致構建失敗。
    11. 保存設置。

    您已完成基本的Jenkins集成。有關可選配置步驟的更多信息,包括更多配置步驟(如果您使用TLS連接到企業服務器),請參閱下面的“其他配置”部分。

    Jenkins中的構建步驟

    集成TeamCity

    借助我們現成的插件,將Burp Suite企業版與TeamCity集成變得非常簡單。請注意,您需要在Burp Suite中創建一個API用戶,然后才能執行下一步。

    以下步驟是集成TeamCity和Burp Suite 企業版的最低配置要求。這些步驟將啟用具有默認掃描定義的未經身份驗證的掃描。

    1. 請訪問網站并下載TeamCity的Burp插件。下載可以導入TeamCity 的.zip文件。
    2. 以管理員身份登錄到TeamCity。
    3. 轉到“管理”>“插件列表”,然后單擊“上傳插件zip”。
    4. 上傳您剛剛下載的.zip文件。
    5. 重新啟動TeamCity。
    6. 選擇一個現有管道并打開配置設置。
    7. 添加一個包含以下命令的“命令行”構建步驟:
      echo BURP_SCAN_URL = http://your-target-server/
      此步驟將以正確的格式在其構建日志中輸出目標URL,以供插件在下一步中處理。例如,如果您使用更具動態性的部署到Docker容器,則此步驟應輸出多個URL,所有URL將根據您的掃描配置進行匯總和掃描。
    8. 添加一個“ Burp scan”構建步驟。
    9. 在“ Burp API的URL”下,輸入您先前創建API用戶后復制的API URL。該格式應為http://your-enterprise-server/api/your-burp-api-key/
    10. 您可以根據需要調整其他各種設置。例如,您可以指定嚴重性最低的問題,它將導致構建失敗。
    11. 保存設置。

    您已完成基本集成。有關可選配置步驟的更多信息,請參見下面的“ 其他配置”部分。

    集成其他CI系統

    如果您使用Jenkins或TeamCity以外的CI系統,則仍可以使用我們的通用CI驅動程序將Burp掃描集成到構建管道中。這提供了一個命令行界面,您可以使用該界面來集成沒有本機插件的任何CI系統。

    驅動程序接受URL進行掃描,作為BURP_SCAN_URL = http://your-target-server/格式的標準輸入(stdin)。您可以使用任何方式生成目標URL列表,只要將輸出以這種格式傳遞到驅動程序即可。但是,出于本指南的目的,我們假設您是從首選CI系統中的構建步驟生成目標URL的。

    1. 請訪問網站并下載通用的Burp CI驅動程序。下載包含一個.jar文件和一個readme文件,其中包含一些示例命令和背景信息。
    2. 在CI系統中,選擇一個現有管道,并根據您的平臺,添加一個適當的構建步驟,該步驟執行以下命令:
      echo BURP_SCAN_URL = http://your-target-server/
      此步驟將以正確的格式在其構建日志中輸出目標URL,以供驅動程序處理。例如,如果您使用更具動態性的部署到Docker容器,則此步驟應輸出多個URL,所有URL將根據您的掃描配置進行匯總和掃描。
    3. 添加另一個執行以下命令的構建步驟:
      java -jar ci-driver.jar http://your-burp-api-url/ < build_log_from_previous_step.log
      該步驟接受上一步中輸出到構建日志的BURP_SCAN_URL,并使用REST API調用Burp中的掃描。請注意,您需要手動指定構建日志的路徑。
    4. 您可以通過在命令后附加各種可選參數來定制掃描設置。例如,添加--min-confidence=certain意味著僅當Burp在掃描過程中以“確定”置信度識別出問題時,構建才會失敗。有關參數及其可能值的完整列表,請通過運行java -jar ci-driver-vXXX.jar --help命令來參考命令行幫助
    5. 保存設置。
    6. 當您在CI系統中觸發構建時,驅動程序僅在標準輸入終止時才啟動掃描,并且將阻塞直到掃描完成。在整個掃描過程中,超出配置閾值的問題也將以摘要或詳細的JSON格式輸出,這具體取決于您的配置。掃描完成后,BURP_SCAN_STATUS指示掃描是否能夠成功運行。BURP_SCAN_RESULT行指示是否發現任何問題。如果沒有找到適用的問題,則退出碼為0;若發現問題,則退出代碼為1。非零退出代碼將導致構建失敗。

    其他配置(可選)

    既然您已經完成了集成CI系統的基本配置步驟,則可以執行以下附加步驟來定制集成以滿足您的需求。

    使用HTTPS集成

    如果在Burp Suite 企業版的網絡設置中選擇了“使用TLS”選項,則需要執行一些其他步驟,以便CI插件或驅動程序信任Enterprise服務器的證書。

    對于Jenkins和TeamCity本機插件

    1. 在CI系統中,轉到構建配置,然后打開在初始配置期間創建的“ Burp scan”構建步驟。
    2. 在“ Burp API的網址”字段中,確保該網址使用HTTPS:
      https://your-enterprise-server/api/your-api-key
    3. 當您選擇在Burp網絡設置中使用TLS時,就上傳了一個自簽名證書。打開證書并復制證書的公共部分。
    4. 返回“ Burp scan”構建步驟,將證書的公共部分粘貼到“ Self-signed TLS certificate(public part)”字段中。
    5. 保存設置

    Burp插件現在信任證書,并使用HTTPS訪問Enterprise服務器。

    對于通用CI驅動程序

    1. 當您選擇在Burp網絡設置中使用TLS時,就上傳了一個證書。打開證書,復制公共部分,并將其保存為X509 base64編碼格式,例如.pem文件。
    2. 在調用掃描的構建步驟中,將添加參數--self-signed-cert=name_of_the_file.pem的命令。
    3. 確保將Burp API的URL更改為使用HTTPS。換句話說,用于調用掃描的命令現在應如下所示:
      java -jar ci-driver.jar https://your-burp-api-url/ < build_log_from_previous_step.log --self-signed-cert=name_of_the_file.pem

    Burp CI驅動程序現在信任證書,并使用HTTPS訪問Enterprise服務器。

    配置詳細的掃描定義

    使用REST API的內置工具包,您可以快速創建更詳細的掃描定義以與CI管道集成。

    1. 在瀏覽器中,訪問先前創建API用戶后復制的API URL。這是Burp Suite企業版REST API的入口點。

    2. 單擊POST方法以打開請求工具包。

    3. 在工具箱中,使用各種輸入字段來設置所需的配置。至少需要至少輸入一個目標URL,掃描名稱和范圍。如果目標URL的整個域都在范圍內,則只需創建一個包含目標URL的范圍條目。

    4. 更改配置時,該工具包會在屏幕底部自動生成相應的curl請求。例如:

      curl -vgw "\n" -X POST 'http://your-enterprise-server/api/your-api-key/v0.1/scan' -d '{"name":"Example","scope":{"include":[{"rule":"https://your-target-server/"}],"type":"SimpleScope"},"urls":["https://your-target-server"]}'
    5. 如果您對設置滿意,請復制curl請求的JSON部分(-d命令后的所有內容)。

    6. 以管理員身份登錄到CI系統。

    7. 如果您使用的是Jenkins或TeamCity插件:

      • 打開在基本配置過程中創建的項目,然后編輯“ Burp scan”構建步驟。
      • 在“以JSON格式掃描定義”下,粘貼從REST API工具箱復制的JSON。如果使用通用CI驅動程序:
      • 將JSON保存在單獨的文件中,并使用參數--scan-definition=name_of_the_file.json將調用掃描的命令附加到后面。
    8. 保存設置。

    下次CI系統調用掃描時,將使用新的掃描定義。

    Jenkins中的高級構建步驟

    忽略問題

    您可以將掃描配置為忽略某些問題或忽略特定路徑上的所有問題,例如,如果該路徑僅導致與掃描無關的資源。

    為此,在生成的BURP_SCAN_URL構建步驟中,包括以下格式的忽略規則:

    echo BURP_SCAN_IGNORE_EXACT = (High, Certain) - name @ http://your-target-server/example/

    echo BURP_SCAN_IGNORE_GLOB = (High, Certain) - name @ http://your-target-server/*

    echo BURP_SCAN_IGNORE_REGEX = \(High, Certain\) - .+ @ http://your-target-server(1|2)/.*

    例如,要忽略路徑http://your-target-server/example/中的所有問題,您將包括以下命令:

    echo BURP_SCAN_IGNORE_GLOB = * @ http://your-target-server/example/

    請注意,您可能需要轉義特殊字符,例如括號。

    忽略CI驅動程序的規則

    本文章首發在 網安wangan.com 網站上。

    上一篇 下一篇
    討論數量: 0
    只看當前版本


    暫無話題~
    亚洲 欧美 自拍 唯美 另类