# Authentication Lab12 這題 Password brute force via logic flaw,用「錯誤訊息」反向推爆正確密碼,因為只有在「舊密碼正確但新密碼不一致」時,才會顯示不一樣的錯誤訊息。 > ### 簡單來說 > 假設你要改 ATM 的提款密碼,流程是這樣的: > > - 輸入舊密碼 > - 輸入新密碼 > - 再次確認新密碼 > > 但如果你輸入錯誤的舊密碼時,系統說: > 如果「兩次新密碼輸入一樣」→ 系統爆氣:「帳號鎖住」 > 如果「兩次新密碼不一樣」→ 系統只是說:「舊密碼錯了」 > 那我們就可以故意讓「兩次新密碼不同」,來用錯誤訊息判斷「到底這個舊密碼對不對」。 先進入網站登入,並攔截更改密碼的請求。 ![image](https://hackmd.io/_uploads/SJo3oxvvlg.png) ![image](https://hackmd.io/_uploads/BJKAogPvel.png) ![image](https://hackmd.io/_uploads/rkrEngDwge.png) 這裡我們可以直接用題目給的清單去爆破密碼比較快。 ![image](https://hackmd.io/_uploads/B1V2TlvDle.png) 再來要加關鍵字過濾,這樣就能找出哪一個 payload 回應了這段訊息(=密碼正確)。 ![image](https://hackmd.io/_uploads/SyXspgDDex.png) 跑完後可以得知帳密為:`carlos:iloveyou`。 ![image](https://hackmd.io/_uploads/rJtfCgvDee.png) ![image](https://hackmd.io/_uploads/B1prAlvDgl.png) ![image](https://hackmd.io/_uploads/SySIRlPvxx.png) ---