暴力破解
概述
連續性嘗試+字典+自動化
如果一個網站沒有對登錄接口實施防暴力破解的措施,或者實施了不合理的措施,則該網站存在暴力破解漏洞。
- 是否要求用戶設置了復雜的密碼
- 是否每次認證都是用安全的驗證碼
- 是都對嘗試登錄的行為進行判斷和限制
- 是丟在必要的情況下采用了雙因素認證
字典
- 常用賬號密碼(弱口令)
- 互聯網上被脫褲后賬號密碼(社工庫)
- 使用密碼生成工具定制字典
暴力破解漏洞測試流程
- 確認登錄接口的脆弱性:確認目標是否存在暴力破解漏洞,嘗試登錄-抓包---觀察認證元素和response信息,判斷是否存在暴力破解的可能。
- 對字典進行優化:根據實際情況對字典進行優化,提高效率。
- 工具自動化操作:配置自動化工具(線程、超時時間、重試次數等)進行自動化操作。
字典優化技巧
- 根據注冊信息優化(密碼位數、字符組成限制)
- 根據返回信息優化(賬號錯誤、密碼錯誤)后台登陸一般管理員為admin/administrator/root。
驗證碼
驗證碼邏輯可以在前端生成、驗證也也可以在后端生成、驗證。
不安全的驗證碼-on client
- 使用前端js實現驗證碼
- 將驗證碼在cookie中泄露,容易被獲取
- 將驗證碼在前端代碼中泄露,容易被獲取
不安全的驗證碼-on server
- 驗證嗎在后台不過期,導致可以長期被使用(session不過期問題)
- 驗證碼校驗不嚴格,邏輯問題
- 驗證碼涉及太過簡單和有規律,容易被猜解