# Authentication Lab2 這題是是考察「2FA流程沒設好導致繞過」的類型。 一樣先進入網站。 ![image](https://hackmd.io/_uploads/ByKalTIvex.png) ![image](https://hackmd.io/_uploads/BJVMZ6LDxx.png) 登入時需要 F2A,但上面有個 email 選項,所以我們進去看看。 ![image](https://hackmd.io/_uploads/SJyH-68Dee.png) 會發現他有記 F2A 的 code 給我們,所以拿去登入。 ![image](https://hackmd.io/_uploads/HJlBwZTIDgx.png) ![image](https://hackmd.io/_uploads/BJhDbp8weg.png) 這時登出換另一個帳號。 ![image](https://hackmd.io/_uploads/rkKjWaUDxg.png) 但這個帳號中,我們沒辦法像剛剛一樣直接拿 F2A code,所以我先嘗試直接 GET 到 `/my-account?id=carlos`。 ![image](https://hackmd.io/_uploads/SkW7MTUPle.png) :::info ### 為什麼可以繞過? - 2FA 通常要保護的不是登入頁面,而是實際受保護的頁面(像 `/my-account`)。 - 這題程式設計錯誤:沒有在 `/my-account` 這類敏感頁面檢查 2FA 驗證狀態,所以只要用 victim 帳號成功登入(但未完成 2FA),直接跳到 `/my-account` 就可以看到帳戶資訊了。 ::: ---