一端逼、暴力猜解簡介
??? 暴力猜解簡單來說就是將密碼進行逐個推算股毫,直到找出真正的密碼為止茴丰。
二、C/S架構(gòu)暴力猜解
??? C/S即客戶端/服務(wù)器,基于C/S架構(gòu)的應(yīng)用程序 如 ssh
ftp sql-server mysql 等姐刁,這些服務(wù)往往提供一個高權(quán)限的用戶芥牌,而這個高權(quán)限的用戶往往可以進行執(zhí)行命令的操作,如 sql-server 的 sa 聂使,mysql的root壁拉,oracle的sys和system帳號,使用這些高權(quán)限的用戶能在很大程度上給開發(fā)人員帶來方便柏靶,但如果口令被破解帶來的危害也是相當大的扇商。
C/S架構(gòu)主要使用的破解工具Hydra、Bruter宿礁、X-scan
三案铺、B/S架構(gòu)暴力猜解
??? 一般是對web應(yīng)用程序中的高權(quán)限用戶進行猜解,如網(wǎng)站的內(nèi)容管理系統(tǒng)賬戶梆靖。一般針對 B/S的暴力猜解控汉,使用Burp Suit 鏡像表單爆破。
API接口暴力猜解參考??? https://xz.aliyun.com/t/6330
四返吻、防范暴力猜解
防止暴力破解是非常簡單的姑子,無論是B/S架構(gòu)或者是C/S架構(gòu),下面總結(jié)出以下幾點测僵。
1街佑、密碼的復(fù)雜性
?毫無疑問谢翎,密碼設(shè)置一定要復(fù)雜,這是最基本的沐旨,最低層的防線森逮,密碼設(shè)定一定要有策略:
??? ①對于重要的應(yīng)用,密碼長度最低位8位數(shù)以上磁携,盡量在8位數(shù)之16位數(shù)之間褒侧。
??? ②絕不允許以自己的手機號碼,郵箱等關(guān)鍵“特征”為密碼谊迄。
??? ③用戶名與密碼不能有任何聯(lián)系闷供,如用戶名為“admin”,密碼為“admin888”统诺。
??? ④僅僅以上三點是不夠的歪脏,比如說“12345678”、“222222222”粮呢、“11111111”這樣的密碼婿失,長度夠了,但是也極為危險鬼贱,因為這些即為弱口令移怯。這些密碼一般都已經(jīng)被收錄到了攻擊者的字典之中香璃。所以就必須要增加密碼的復(fù)雜性这难。比如以下方案:
??? ·至少一個小寫字母(a-z)
??? ·至少一個大寫字母(A-Z)
??? ·至少一個數(shù)字(0-9)
??? ·至少一個特殊字符(*&^%$#@!)
??? 如果你感覺你的密碼足夠強大,就讓攻擊者去攻擊幾年吧葡秒,雖然這只是句玩笑姻乓,也說明了密碼策略的重要性,密碼復(fù)雜眯牧,不單單是對暴力破解有防范蹋岩,也對其他的攻擊有防范,例如MD5密碼破解学少,你的密碼足夠復(fù)雜剪个,CMD5解密也是比較難的。
2版确、驗證碼措施
??? 驗證碼(CAPTCHA)是“Completely Automated Public Turing test to tell Computers and Humans
Apart”(全自動區(qū)分計算機和人類的圖靈測試)的縮寫扣囊,是一種區(qū)分用戶是計算機和人的公共全自動程序。
使用驗證碼可以有效的防止:惡意破解密碼绒疗、刷票侵歇、論壇灌水等∠拍ⅲ可以說驗證碼最主要的是防范“機器人”
至今驗證碼不單單可以有效的防止暴力破解惕虑,刷票,網(wǎng)絡(luò)水軍,也可以要用來防護CSRF等其他一些不安全的因素溃蔫。
? ? 雖然說驗證碼簡單健提,有效,但是也看什么類型的驗證碼酒唉,至今驗證碼可以分為很多種矩桂,有圖片驗證碼,有手機驗證碼痪伦,有郵箱驗證碼侄榴,還有答題驗證碼。
3网沾、登陸日志(限制登錄次數(shù))
??? 使用登陸日志可以有效的方式暴力破解癞蚕,登陸日志意為:當用戶登錄時,不是直接進行登陸辉哥,而是去登陸日志里面去查找桦山,用戶時候不是已經(jīng)登陸錯誤了,還有登陸錯誤的次數(shù)醋旦,時間恒水。如果連續(xù)是連續(xù)錯誤,將采取某種措施饲齐。
? ? 例如Oracle數(shù)據(jù)庫就有一種機制钉凌,當密碼輸入錯誤三次之后,每次登陸時間間隔為10秒鐘捂人,這樣就大大減少了被破解的風險御雕,我們完全可以做到登陸第三次錯誤后延時10秒登陸,第四五延時15秒滥搭,這樣也是一種有效的解決暴力破解的方案酸纲。
??? 有些朋友可能會問,當?shù)顷戝e誤幾次之后瑟匆,我們直接封鎖賬戶24小時闽坡,這樣不就更方便了嗎?顯然這樣做是可以愁溜,但是不要忘記疾嗅,攻擊者是不能在破解了,但是你還能登陸嗎祝谚?所以宪迟,不要直接進行封鎖賬戶。
??? 暴力破解防范還有其他很多種方法交惯,讀者可以根據(jù)自身的需求去尋找合適自己的方案次泽。