**手機六位數驗證碼暴力破解概念性驗證** **注:** 由於本人還是一個菜逼,內文中有錯誤地方,還請各位大神指導! **本文摘要:** Zeroday漏洞平台上面常常會看到許多漏洞SQL Injection ﹑Cross-Site Scripting ﹑ Arbitrary File Download 等相關漏洞,但很少能看見Logic Flaws等相關漏洞,出於好奇心突然想研究一下有關相關漏洞的知識xD ,發現一篇文章是寫到可以利用驗證碼缺陷進行密碼重置,於是開始研究起來。  剛開始比較摸不清楚頭緒,後來參考烏雲漏洞庫﹑Zeroday漏洞平台內容後,後來一股腦打通了任督二脈,原來驗證碼是存在brute-force的可能性xD。發現了新大陸,由於網站存在找回密碼的功能,可用手機或帳號進行找回的動作,可利用此功能進行重置他人密碼。  出於保護公司,遮住一些機敏資訊,但由傳回的簡訊可得知驗證碼是由6位數字組成,知道驗證碼規則後便可進行測試。 出於保護公司,遮住一些機敏資訊,但由傳回的簡訊可得知驗證碼是由6位數字組成,知道驗證碼規則後便可進行測試。  既然是6位數字那我們先隨便打個驗證碼為111111透過burpsuite攔截到封包送到Intruder,發現verifycode參數帶有驗證碼,接下來針對verifycode參數進行bruteforce,所以可準備000000-999999字典檔進行bruteforce,但由於時間上的關係,所以改以PoC進行驗證,從上面資訊可知道正確的驗證碼為706809,那我們測試從 706800到 706810。  根據Length長度發現呈現302重定向跳轉,代表bruteforce成功,既然如此,駭客只要知道任何人的手機或帳號就可以重置密碼,從而登入他人的帳戶。 這是一個非常危險的漏洞,假如今天發生的網站是發生在交易網站那後果可能不堪設想,駭客能做任何事情,包括下訂單﹑取消訂單﹑個資整個外洩,真的是不可不慎。 後來我又去查了如何防禦這個漏洞,認證碼可以改為英+數當作認證碼(複雜度提高),以及限制驗證碼的時效性及錯誤次數。 最後發現到此漏洞後,回報給Zeroday漏洞平台,希望公司能盡快修補,免得延伸出更嚴重的資安問題,造成社會上的困擾。 科技越來越進步,駭客的攻擊也越來越多變,不僅僅是Owasp Top 10 漏洞,網站的開發者人員也要隨時有新的認知,並強化安全意識。 希望在資安領域上盡一份心力,落實「資安等於國安」。
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up