您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關利用Python開發(fā)Burp Suite插件的示例分析,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
我們會在每個參數(shù)后面插入大量 sql 注入檢測參數(shù),并且通過接口類獲取發(fā)送的請求數(shù)據(jù)和接收響應數(shù)據(jù),然后根據(jù)響應數(shù)據(jù)判斷 sql 注入漏洞是否存在。
所需要的接口類:
這是一個 Intruder 工具的 payload 處理器,我們可以通過 IBurpExtenderCallbacks.registerIntruderPayloadProcessor() 注冊一個。此類里面有兩個函數(shù)需要實現(xiàn) getProcessorName()和 processPayload()
getProcessorName 方法:
用于獲取 payload 處理器的名稱
processPayload 方法:
當處理器每次應用 payload 到一次 Intruder 攻擊時,Burp 都會調(diào)用一次此方法
這是一個 http 監(jiān)聽器,burp 里的任何一個工具發(fā)起的 http 請求或收到 http 響應都會通知此監(jiān)聽器,通過 IBurpExtenderCallbacks.registerIntruderPayloadProcessor() 注冊,我們可以通過這個類得到交互數(shù)據(jù),進行分析和修改。此類里面有一個 processHttpMessage()需要實現(xiàn)。
processHttpMessage 方法:
需要獲取所有的 http 數(shù)據(jù)包,必須通過上述接口,重寫此方法。
(其他的 api 類在這不做介紹,可參考前幾篇文章)
第一步:
導入我們的 burpapi 類
第二步:
將需要用到的 sql 注入語句寫入數(shù)組
這里只做演示,這個地址上有大量測試語句:
https://github.com/trietptm/SQL-Injection-Payloads
第三步:
注冊所有需要注冊的接口類
第四步:
已經(jīng)注冊了 payload 生成器,現(xiàn)在完成我們 payload 生成器,
返回此接口的一個新實例。
第五步:
定于 intruder 工具的 payload 生成器。
第六步:
處理從 payload 生成器中返回的 payload
第七步:
先前已經(jīng)注冊好 http 監(jiān)聽器,現(xiàn)在使用 http 監(jiān)聽器獲取 http 請求和響應數(shù)據(jù),可以分析和修改交互數(shù)據(jù)。
messageInfo 是一個類,我們通過類方法獲取和修改相關數(shù)據(jù):
上圖可以看見 getHttpService()會返回一個 IHttpService 實例子
通過調(diào)用里面的方法可以獲取到詳細的 http 信息細節(jié)。
我的 pycharm 用的是 python3 的環(huán)境變量,目前 jython 只支持 python2,所有我們必須使用 python2 的語法進行打印,將結(jié)果輸出在 burp 終端。
最后貼一張完整代碼:
注:使用的時候如下配置
最終效果:
關于利用Python開發(fā)Burp Suite插件的示例分析就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。