---
# System prepended metadata

title: Untitled

---

**手機六位數驗證碼暴力破解概念性驗證**

**注:**

由於本人還是一個菜逼，內文中有錯誤地方，還請各位大神指導! 

**本文摘要:**

Zeroday漏洞平台上面常常會看到許多漏洞SQL Injection ﹑Cross-Site Scripting ﹑ Arbitrary File Download 等相關漏洞，但很少能看見Logic Flaws等相關漏洞，出於好奇心突然想研究一下有關相關漏洞的知識xD ，發現一篇文章是寫到可以利用驗證碼缺陷進行密碼重置，於是開始研究起來。


![](https://i.imgur.com/kUCxVes.png)

剛開始比較摸不清楚頭緒，後來參考烏雲漏洞庫﹑Zeroday漏洞平台內容後，後來一股腦打通了任督二脈，原來驗證碼是存在brute-force的可能性xD。發現了新大陸，由於網站存在找回密碼的功能，可用手機或帳號進行找回的動作，可利用此功能進行重置他人密碼。 

![](https://i.imgur.com/1hIrUt2.png)

 
 
出於保護公司，遮住一些機敏資訊，但由傳回的簡訊可得知驗證碼是由6位數字組成，知道驗證碼規則後便可進行測試。


出於保護公司，遮住一些機敏資訊，但由傳回的簡訊可得知驗證碼是由6位數字組成，知道驗證碼規則後便可進行測試。

![](https://i.imgur.com/0fNk19J.png)

既然是6位數字那我們先隨便打個驗證碼為111111透過burpsuite攔截到封包送到Intruder，發現verifycode參數帶有驗證碼，接下來針對verifycode參數進行bruteforce，所以可準備000000-999999字典檔進行bruteforce，但由於時間上的關係，所以改以PoC進行驗證，從上面資訊可知道正確的驗證碼為706809，那我們測試從 706800到 706810。

![](https://i.imgur.com/bEaVTb9.png)

根據Length長度發現呈現302重定向跳轉，代表bruteforce成功，既然如此，駭客只要知道任何人的手機或帳號就可以重置密碼，從而登入他人的帳戶。
這是一個非常危險的漏洞，假如今天發生的網站是發生在交易網站那後果可能不堪設想，駭客能做任何事情，包括下訂單﹑取消訂單﹑個資整個外洩，真的是不可不慎。
後來我又去查了如何防禦這個漏洞，認證碼可以改為英+數當作認證碼(複雜度提高)，以及限制驗證碼的時效性及錯誤次數。
最後發現到此漏洞後，回報給Zeroday漏洞平台，希望公司能盡快修補，免得延伸出更嚴重的資安問題，造成社會上的困擾。
科技越來越進步，駭客的攻擊也越來越多變，不僅僅是Owasp Top 10 漏洞，網站的開發者人員也要隨時有新的認知，並強化安全意識。
希望在資安領域上盡一份心力，落實「資安等於國安」。
