【安全】【測試思路】基於Burpsuite工具中的intruder執行暴力破解
基於Burpsuite工具中的intruder執行暴力破解
測試工具
序號 | 工具 | 版本 | 備註 |
---|---|---|---|
1 | JDK環境 | 1.7及以上 | burpsuite工具執行所需 |
2 | Burpsuite | 1.4及以上 | 請根據個人情況,選擇Community或Professional版本 |
3 | DVWA | 當前最新是1.9 | 整合多種滲透測試工具,可根據測試場景,調整應用程式的安全等級,環境部署參考點選此處 |
常規暴力破解
對於一般或中小型專案軟體來說,使用者進行登入操作時,傳送的鑑權請求可能只有一條,以使用者賬號、密碼、驗證碼(若有)作為入參,傳送給伺服器進行驗證,根據鑑權結果返回登入失敗或成功。此類登入請求,只需在intruder中選取請求中的密碼引數作為載荷標記,配置好對應的載荷內容,即可執行破解操作。
測試流程
-
攔截登入請求,併傳送到intruder中。
-
選擇攻擊型別。
Attack type (型別) | Payload set (載荷集) | 描述 | 適用場景 |
---|---|---|---|
Sniper | 最多1個 | 單位置單遍歷,即所有載荷標記使用同一個載荷集,每次攻擊只替換一個載荷標記。攻擊總數=載荷標記數量 * 載荷集清單數量 | 只有一個位置需要替換,或者多個位置依次替換 |
Battering ram | 最多1個 | 多位置同時遍歷,即所有載荷標記使用同一個載荷集,且每次攻擊會同時替換所有載荷標記。 攻擊總數=載荷集清單數量 | 存在多個位置需要替換,且多個位置被替換內容需要同時一致 |
Pitchfork | 至少2個 | 各個載荷標記使用對應的載荷集,每次同時取載荷集中的第N個元素替換對應的標記。攻擊總數=所有載荷集清單最少數量 | 2個以上位置同時被替換,被替換的內容存在一一對應關係 |
Cluster bomb | 至少2個 | 集束爆破,攻擊總數等於所有載荷集清單數量的笛卡爾積。 | 2個以上位置同時被替換,被替換的內容無需存在對應關係,可自由組合。 |
-
選取載荷標記。
add:手動選取一個載荷標記位置,以成對的§符號標記起來。
clear:清除所有的載荷標記位置。
auto:工具自動選取需要被替換的標記位置。
refresh:重新整理編輯器中的內容,使之語法高亮。
-
新增載荷內容。
paste:從系統貼上板中獲取資料,點選paste按鈕新增。
load:選擇並讀取本地檔案,每一行作為一條資料。
remove:移除所選資料。
clear:清除所有資料。
add:單個資料新增。
add from list:從工具自帶的資料列表中新增。
-
執行破解,檢視破解請求。
點選Start attack按鈕,即可開始破解(為了提高破解機率,可先在options中將執行緒數設定為1)。
從圖中可發現,在執行第86次替換時,返回的長度length比其他的要少;再通過檢視該攻擊請求的返回報文,發現該請求已經正確返回了登入後的網頁原始碼;與此同時,在所有的攻擊請求中,沒有一條返回“賬號被鎖定”或“IP地址被鎖定”的錯誤資訊(具體返回內容,請根據專案實際情況判斷)。
故由此得出,該系統的登入模組,未做任何防暴力破解的措施,極易被破解出密碼。
特殊登入請求暴力破解
在接觸到的某些大型專案中,為了進一步提高專案的安全防護,可能會在登入驗證請求之前,先向伺服器傳送一條獲取隨機值的請求,伺服器返回隨機值後,登入驗證請求會攜帶此隨機值,連同登入使用者賬號、密碼、驗證碼(若有),一同傳送給伺服器進行鑑權驗證,並且此隨機值長度一般可達到32位或以上,同時可能存在時間限制,以此來達到雙重保障安全登入及長時間未登入銷燬登入會話的目的。
模擬登入流程如下:
如果此時我們們使用上述的常規暴力破解方式,未將登入隨機值放入登入請求中,伺服器一般會返回“登入會話失效”或者“登入隨機值已過期”等等訊息,而此類測試結果並不能作為專案存在防暴力破解機制的依據。
因此,我們們可以使用到burpsuite工具中自帶的巨集錄製的功能,將獲取隨機值的請求錄製成巨集,然後再將巨集命令應用到intruder功能中,便可讓登入請求入參攜帶由伺服器返回的隨機值,達到“欺騙”伺服器正常登入的目的。
測試流程
大體流程與常規破解一致,區別在於前期的配置巨集命令(步驟4~10)。
-
以DVWA程式中的Brute Force為例,輸入username和password,點選Login按鈕,觸發一次登入請求。
-
在burpsuite中可看出,登入請求中的引數,不僅包含了使用者名稱、密碼,還包含了一條user_token,並且是隨機的。
-
登入失敗後,在獲取新頁面的返回報文中,可看到新生成了一條user_token。
-
進入Project options->Sessions->Marcos中,點選Add新增一條Marco。
-
在Macro Editior介面中,點選Record macro按鈕,在彈出的視窗中,選擇那條獲取登入隨機值的請求,點選OK。
-
在Macro Editior介面中,輸入Macro description,在Macro items中選擇上述儲存的請求,點選Configure item按鈕進入Configure Macro Item介面。
-
點選Add按鈕,在彈出的Define Custom Paramter介面中,選擇那串user_token隨機值,工具將自動填寫隨機值的起止位置表示式,記錄下來備用。點選OK按鈕儲存,回到工具主介面。
-
在Project options的Session Handling Rules中,新增一條規則。在彈出的Session handling rule editor視窗中,取一個規則的名字,在Rule Actions中點選Add,選擇Run a macro。
-
在Session handling action editor中,自動填上了第1~4步配置的macro,選中即可,下面的選項保持預設。點選OK按鈕儲存。
-
返回到Session handling rule editor視窗,切換到Scope頁籤。確保規則應用的工具包含Intruder,URL Scope中選擇“Include all URLs”選項。點選OK按鈕以儲存。
-
至此,巨集命令的配置就完成了,接下來的intruder配置和執行破解操作,與常規暴力破解的步驟類似,不再贅述。
-
驗證:
a. 在發起的Intruder中,可看到每一次發起的破解請求中,其攜帶的user_token都是不同的,且有效(如果隨機值無效會返回HTTP302 Not Found)。
b. 返回報文中,可看到返回的訊息是賬號或密碼不正確,且smithy賬號由於嘗試登入錯誤次數過多,已被鎖定了。
相關文章
- 安全測試工具之-BurpsuiteUI
- Burpsuite安全測試測試指導UI
- Burpsuite 滲透測試工具使用UI
- 滲透測試工具Burpsuite操作教程UI
- Burpsuite intruder模組 越過token進行爆破,包含靶場搭建UI
- 滲透測試之BurpSuite工具的使用介紹(三)UI
- burpsuite暴力破解之四種方式UI
- burpsuite暴力破解的四種攻擊方式UI
- 暴力破解測試
- 安全測評基礎-安全測評常用測試工具講解
- 基於 LangChain 的自動化測試用例的生成與執行LangChain
- BurpSuite在非Web應用測試中的應用UIWeb
- java基礎 關於執行緒安全Java執行緒
- 基於 Django 的 Dubbo 介面測試工具平臺Django
- 基於Dubbo的http自動測試工具分享HTTP
- postman的批次執行:用於多條介面測試用例批次執行,輸出介面測試測試結果Postman
- 基於JUnit進行的專案測試
- burpsuite學院之api測試UIAPI
- 基於Ruby的Burpsuite外掛開發UI
- 暴力破解-基於Pikachu的學習
- 通過Web安全工具Burpsuite找出網站中的XSS漏洞實戰(二)WebUI網站
- 開源多執行緒效能測試工具-sysbench執行緒
- 《安全測試常用的幾個工具》
- pikachu 基於表單的暴力破解(一)
- burpsuite+xray 實現聯動測試UI
- 基於釣魚郵件測試的安全意識教育方法
- 基於LangChain手工測試用例轉App自動化測試生成工具LangChainAPP
- 基於LangChain手工測試用例轉Web自動化測試生成工具LangChainWeb
- 基於LangChain手工測試用例轉介面自動化測試生成工具LangChain
- 【推薦】安全測試常用的工具合集!
- API 安全中的“左移”測試API
- 基於 appium 的安卓 UI 及多裝置相容測試工具APP安卓UI
- 15、基於psexec的域滲透測試工具—Smbexec v2.0
- 關於四種獲取當前執行方法名稱方案的基準測試報告測試報告
- 基於Python的郵件檢測工具Python
- 使用如今更智慧的光纖測試工具執行專家級光纖測試和認證
- 測試開發之安全篇-使用禪道ZTF執行OWASP安全掃描
- Java 多執行緒基礎(四)執行緒安全Java執行緒