當前位置:
首頁 > 最新 > 初探Burp Suite API 開發

初探Burp Suite API 開發

GIF

0x00環境準備

安裝完成後,載入jython的jar包到BurpSuite運行環境中。

GIF

0x01 BurpSuite API中常見的類

IBurpExtender

該類中有個registerExtenderCallbacks方法,該方法在插件被載入後會被調用,在所有擴展插件中必須實現這個介面。

java的調用方法:

python的調用方法,python需要對這個方法傳入的參數進行處理,處理的是為了更加方便的調用基本介面的方法,這裡就列出了一些方法,其他的可以參考IBurpExtenderCallbacks的內容。

IHttpListener

該類是用來註冊HTTP監聽器,然後對獲取到的請求或響應包進行處理,有個processHttpMessage的方法用於對請求和響應的數據包進行自定義操作,該方法在發送請求之前和接收響應之後會被調用。

java的調用方法:

python的調用方法:

IHttpRequestResponse

該介面用來獲取HTTP中請求和響應的HTTP信息,如果是響應包的HTTP信息,需要在請求被發送後才能獲取到。

該介面有getComment(),getHighlight(),getHttpService(),getRequest(),getResponse(),setComment(java.lang.String comment),setHighlight(java.lang.String color),setHttpService(IHttpService httpService),setRequest(byte[] message),setResponse(byte[] message)

這些方法。可以直接在官方介面文檔中查看。

其中getHttpService()方法會返回IHttpService的對象。如果需要獲取協議,主機,埠信息的,就需要對IHttpService對象里相應的方法進行調用。

java的調用方法:

python的調用方法:

IHttpService

該介面用來獲取可以被發送的請求包的詳細內容,有getHost(),getPort(),getProtocol這個三個方法。

java的調用方法:

python的調用方法:

IResponseInfo

該介面是用來獲取響應包的詳細內容的,通過IExtensionHelpers.analyzeResponse()的方法調用該對象中的方法。

該介面有getBodyOffset(),getCookies(),getHeaders(),getInferredMimeType(),getStatedMimeType(),getStatusCode()的方法。

java的調用方法:

python的調用方法:

IRequestInfo

該介面是用來獲取請求包的詳細內容的,通過IExtensionHelpers.analyzeRequest()的方法調用該對象中的方法。

該介面有getBodyOffset(),getContentType(),getHeaders(),getMethod(),getParameters(),getUrl()的方法。

java的調用方法:

python的調用方法:

GIF

0x02示例代碼

GIF

0x03載入插件

當請求中有callback或隱藏callback且返回包是json格式的便會在output上列印記錄。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 漏斗社區 的精彩文章:

TAG:漏斗社區 |