暴力破解攻擊概述:html
連續性嘗試 + 字典 + 自動化前端
一個有效的字典,能夠大大提升暴力破解的效率web
經常使用的帳號密碼 弱口令,好比經常使用用戶名/密碼 TOP 500等 ;算法
互聯網上被脫褲後帳號密碼(社工庫),好比CSND當年泄露的約600w用戶信息;後端
使用指定的字符使用工具按照的規則進行排序組合算法生成的密碼;安全
暴力破解漏洞測試流程:服務器
一、確認登陸接口的額脆弱性cookie
確認目標是否存在暴力破解的漏洞(確認被暴力破解的 可行性)函數
好比:嘗試登陸——抓包 --- 觀察驗證元素和 response 信息,判斷是否存在被暴力破解的可能。工具
二、對字典進行優化
根據實際的狀況對字典進行優化,提升爆破過程的效率
三、配置自動化工具(好比 線程、超時時間、重試次數等),進行自動化操做。
字典優化技巧:
一、根據註冊提示信息進行優化
對目標站點進行註冊,搞清楚帳號的一些限制,好比目標站點要求密碼必須6位以上,字母數字組合,則能夠按照此優化字典,好比去掉不符合要求的密碼;
二、若是爆破的是管理後臺,每每這種系統的管理是admin/adminnistrator/root的概率比較高,可使用這三個帳號 + 隨便一個密碼,嘗試登陸,觀看返回的結果,肯定用戶名。好比輸入xxx/yyy 返回 用戶或密碼錯誤;輸入admin/yyy 返回 密碼錯誤,則基本能夠肯定用戶是admin;所以能夠只對密碼進行破解便可,提升效率;
基於表單的暴力破解攻擊 (基於 brup suite)burp suite free edition-intruder
burp一個集成的 web 安全測試系統,有 free(免費) 和 pro(收費) 兩個版本
proxy 和 intruder 兩個模塊
官網下載:https://portswigger.net/burp/download.html
暴力破解之不安全的驗證碼分析
咱們通常用驗證碼來作什麼? 登陸暴力破解 防止機器惡意註冊
驗證碼的認證流程:
客戶端request登陸頁面,後臺生成驗證碼:1.後臺使用算法生成圖片,並將圖片response給客戶端;
2.同時對提交的驗證碼與SESSION裏面的進行比較;
客戶端從新刷新頁面,再次生成新的驗證碼:
驗證碼算法中通常包含隨機函數,因此每次刷新都會改變;
--- 不安全驗證碼 -on client- 繞過
查看驗證碼是不是在前端作的,在前端作驗證碼是不安全的;後端沒有驗證 驗證碼是確定能夠被繞過的;
不安全的驗證碼:
全部驗證碼生成操做直接經過前端js來實現 這就是一個紙老虎;
將驗證碼在cookie中泄露,容易被獲取;
將驗證碼在前端源代碼中泄露,容易被獲取;
不安全的驗證碼 --- on server 常見問題
驗證碼在後臺不過時,致使能夠長期被使用;
驗證碼校驗不嚴格,邏輯出問題;
驗證碼設計的太過簡單和有規律,容易被猜解;
查看驗證碼是否能夠屢次被利用;服務端繞過;服務器端將驗證碼字符串以明文cookie方式給了前端,那驗證碼沒有什麼用;因此要用一次就銷燬一次驗證碼
Token能夠防暴力破解?其實不能夠的,只要每次在暴力破解的時候每次獲取一次 Token 這個值就能夠了;因此這個值也不能夠明文;
學習所用;而且本身作了一下簡單的測試;
本身搭建的環境測試;以上用的 burp 作的測試;