介紹如何安裝與使用 Burp Suite 進行網頁應用程式的安全性滲透測試。
SQLiPy 是 Burp Suite 的一個擴充功能,可以將 Burp Suite 攔截到的 HTTP 請求,透過 SQLMap 進行掃描,偵測 SQL injection 的弱點,以下是 SQLiPy 的安裝與使用方式。
安裝 SQLiPy Sqlmap Integration 擴充功能
在安裝 SQLiPy 之前,要先確認 Burp Suite 有安裝好 Jython,若之前尚未安裝過 Jython,則可從 Jython 的網站下載最新版的 Standalone JAR 檔案,並在 Burp Suite 的「Extender」中的「Python Environment」設定 Jython standalone JAR 檔案路徑。
接著在「Extender」中的「BApp Store」,安裝「SQLiPy Sqlmap Integration」擴充功能。
啟動 SQLMap API 伺服器
安裝好「SQLiPy Sqlmap Integration」擴充功能之後,在 Burp Suite 中會出現一張新的「SQLiPy」頁籤,在開始使用時,要先在「SQLMap API」頁籤中設定好 SQLMap API 伺服器相關的設定(通常使用預設值即可),按下「Start API」啟動 SQLMap API 伺服器。
SQLMap API 伺服器啟動之後,會顯示綠色的「SQLMap API IS CURRENTLY RUNNING!」訊息,這時候就可以開始使用 SQLiPy 透過 SQLMap 進行掃描了。
以 SQLiPy 透過 SQLMap 掃描
若要以 SQLiPy 透過 SQLMap 掃描,先使用 Proxy 功能攔截包含表單的 HTTP 請求,在請求內容上按下滑鼠右鍵,選擇「Extensions」、「SQLiPy Sqlmap Integration」、「SQLiPy Scan」,將 HTTP 請求資料傳遞至 SQLMap 掃描功能中。
選擇「SQLiPy」中的「SQLMap Scanner」頁籤,可以看到從 Proxy 轉入的 HTTP 請求資料,此處的掃描選項都對應到 sqlmap
指令的參數,調整必要的設定之後,即可執行掃描。
送出掃描請求之後,即可在「SQLMap Logs」中依據掃描的 ID 查詢掃描記錄。
事實上 SQLiPy 所做的事情就是將 Proxy 攔截的 HTTP 請求內容,轉為 sqlmap
的輸入參數而已,在掃描記錄中也有實際執行的 sqlmap
指令與參數內容,對於熟悉指令操作的人,也可以透過手動建立參數的方式,達到一樣的效果。