這篇文章將為大家詳細(xì)講解有關(guān)利用Python開發(fā)Burp Suite插件的示例分析,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。
創(chuàng)新互聯(lián)公司憑借在網(wǎng)站建設(shè)、網(wǎng)站推廣領(lǐng)域領(lǐng)先的技術(shù)能力和多年的行業(yè)經(jīng)驗(yàn),為客戶提供超值的營(yíng)銷型網(wǎng)站建設(shè)服務(wù),我們始終認(rèn)為:好的營(yíng)銷型網(wǎng)站就是好的業(yè)務(wù)員。我們已成功為企業(yè)單位、個(gè)人等客戶提供了網(wǎng)站建設(shè)、成都網(wǎng)站制作服務(wù),以良好的商業(yè)信譽(yù),完善的服務(wù)及深厚的技術(shù)力量處于同行領(lǐng)先地位。
我們會(huì)在每個(gè)參數(shù)后面插入大量 sql 注入檢測(cè)參數(shù),并且通過接口類獲取發(fā)送的請(qǐng)求數(shù)據(jù)和接收響應(yīng)數(shù)據(jù),然后根據(jù)響應(yīng)數(shù)據(jù)判斷 sql 注入漏洞是否存在。
所需要的接口類:
這是一個(gè) Intruder 工具的 payload 處理器,我們可以通過 IBurpExtenderCallbacks.registerIntruderPayloadProcessor() 注冊(cè)一個(gè)。此類里面有兩個(gè)函數(shù)需要實(shí)現(xiàn) getProcessorName()和 processPayload()
getProcessorName 方法:
用于獲取 payload 處理器的名稱
processPayload 方法:
當(dāng)處理器每次應(yīng)用 payload 到一次 Intruder 攻擊時(shí),Burp 都會(huì)調(diào)用一次此方法
這是一個(gè) http 監(jiān)聽器,burp 里的任何一個(gè)工具發(fā)起的 http 請(qǐng)求或收到 http 響應(yīng)都會(huì)通知此監(jiān)聽器,通過 IBurpExtenderCallbacks.registerIntruderPayloadProcessor() 注冊(cè),我們可以通過這個(gè)類得到交互數(shù)據(jù),進(jìn)行分析和修改。此類里面有一個(gè) processHttpMessage()需要實(shí)現(xiàn)。
processHttpMessage 方法:
需要獲取所有的 http 數(shù)據(jù)包,必須通過上述接口,重寫此方法。
(其他的 api 類在這不做介紹,可參考前幾篇文章)
第一步:
導(dǎo)入我們的 burpapi 類
第二步:
將需要用到的 sql 注入語句寫入數(shù)組
這里只做演示,這個(gè)地址上有大量測(cè)試語句:
https://github.com/trietptm/SQL-Injection-Payloads
第三步:
注冊(cè)所有需要注冊(cè)的接口類
第四步:
已經(jīng)注冊(cè)了 payload 生成器,現(xiàn)在完成我們 payload 生成器,
返回此接口的一個(gè)新實(shí)例。
第五步:
定于 intruder 工具的 payload 生成器。
第六步:
處理從 payload 生成器中返回的 payload
第七步:
先前已經(jīng)注冊(cè)好 http 監(jiān)聽器,現(xiàn)在使用 http 監(jiān)聽器獲取 http 請(qǐng)求和響應(yīng)數(shù)據(jù),可以分析和修改交互數(shù)據(jù)。
messageInfo 是一個(gè)類,我們通過類方法獲取和修改相關(guān)數(shù)據(jù):
上圖可以看見 getHttpService()會(huì)返回一個(gè) IHttpService 實(shí)例子
通過調(diào)用里面的方法可以獲取到詳細(xì)的 http 信息細(xì)節(jié)。
我的 pycharm 用的是 python3 的環(huán)境變量,目前 jython 只支持 python2,所有我們必須使用 python2 的語法進(jìn)行打印,將結(jié)果輸出在 burp 終端。
最后貼一張完整代碼:
注:使用的時(shí)候如下配置
最終效果:
關(guān)于利用Python開發(fā)Burp Suite插件的示例分析就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。