運維安全第2節—暴力破解之基於表單的暴力破解實驗
- 2019 年 10 月 8 日
- 筆記
暴力破解攻擊&暴力破解漏洞概述
暴力破解關鍵詞:連續性嘗試 + 字典 + 自動化
如果一個網站沒有對登陸介面實施防暴力破解的措施,或者實施了不合理的措施,則稱該網站存在暴力破解漏洞。常見類型:
- 是否要求用戶使用複雜密碼;
- 是否每次驗證都使用安全驗證碼;
- 是否對嘗試登陸行為做監控和限制;
- 是否在必要的情況採用雙因素認證;
- … …
暴力破解流程
- 確認登陸介面的脆弱性:嘗試登陸—抓包—觀察驗證元素和response資訊,判斷是否存在暴力破解的可能
- 對字典進行優化:根據實際情況對字典進行優化,提高爆破過程中的效率
- 工具自動化操作:配置自動化工具(比如執行緒、超時時間、重試次數等),進行自動化操作
暴力破解測試流程—字典優化技巧
- 搞清楚密碼的限制策略;
- 根據提示資訊優化。
基於表單的暴力破解實驗
實驗環境:Burp suite & pikachu
實驗目標:pikachu-暴力破解-基於表單的暴力破解
測試工具:burpsuite free edition-intruder
burpsuite-intruder模組介紹
intruder模組可以通過對http request的數據包以便利的方式自定義參數,然後根據對應策略進行自動化的重放。常用於自動化猜測/暴力破解過程中。
- target選項卡:設置攻擊目標,可以通過proxy發送;
- positions選項卡:指定需要暴力破解的參數並設置成變數,同事選擇攻擊模式;
- Sniper(狙擊手):設置一個payload,先講第一個變數使用字典進行測試,然後再將第二個變數使用字典進行測試;
- Battering ram(衝撞車):設置一個payload,所有的變數一起用字典內容被替換,然後一起嘗試;
- Ptichfork(草叉型):每個變數設置一個payload,分別使用對應的字典對變數進行同時替換;
- Cluster bomb(焦束炸彈):需要為每個變數設置一個payload,分別使用字典內容組合對變數進行替換;
開始試驗
配置burpsuite
直接創建臨時項目:

使用默認設置:

頁面展示:

關閉 Intercept :如果不關閉,則會攔截瀏覽器所有經burpsuite代理(proxy)的請求

配置瀏覽器
使用Firefox瀏覽器,配置代理:(Tips:在配置代理之前請先安裝ca證書,不然https請求會存在error!!!安裝CA證書)

配置完成後隨便訪問一個網頁,burpsuite會將訪問記錄下來:

如果開啟intercept,請求會被攔截,需要手動去點擊"Foreword"才能發送出去。
Tips:演示之前還需要做一個操作,允許Firefox瀏覽器抓取localhost的數據包!!!(很重要)
- 在Firefox瀏覽器中輸入
about:config
- 搜索
network.proxy.allow_hijacking_localhost
——允許代理劫持本地主機 - 雙擊值,改為
true
即可!
接下來已pikachu平台來做演示。
- 通過Proxy:HTTP history獲取要進行攻擊的請求方式
- 可以在這裡直接講請求方式發送到intruder
- 查看intruder並進行配置

- 對請求進行分析,判斷是否滿足暴力破解的要求
- 如果能進行爆破,用變數替換請求中的關鍵欄位(見上圖);
- 右側'add'表示添加一個變數(選擇要設置變數的欄位,點擊add即可)
- 如果是從proxy history添加過來的,自動會設定變數,根據需要自行取捨
- 根據需要選擇attach type;
- 為變數賦值為暴力破解對應的字典;
- 配置完成後開始破解。