# Authentication
[TOC]
## APPRENTICE
### Lab: Username enumeration via different responses --2023/05/02
在開始前告訴我們可以爆破,還給了 username 和 passwd 的字典檔,我還不好好地用他 OVO

啊就不廢話了,直接進來 login 的部分,先隨便輸入帳密,然後用 burpsuite 去攔截封包

我們先從 username 確認起,attacke type 確認是 sniper

接下來在 payload 這邊, payload sets 的 type 選擇 simple list,接著在 payload settings 將剛才儲存的username字典檔拉進來

點擊右上的 "start attack" 就會開始爆破,跑完後可以發現有一個名字的回應長度跟別人不一樣,所以 username 就是他了 "au"

接著將找到的帳號輸入,換成爆破密碼啦

一樣的步驟,只是這次換成 passwd 去跑

跑完後,可以很明顯看到密碼是誰了XD

輸入就解完啦!

### Lab: 2FA simple bypass --2023/05/02
這一題要繞過二部驗證,首先先用 wener:peter 這一組(你的)登入

登入後要求二部驗證,點擊上面的 "Email client",就是到你的 email 去拿驗證碼

驗證碼就在旁邊 OUO

輸入驗證碼後就進來啦

之後登出改成用 carlos:montoya (要攻擊的帳密)登入,(Congratulation 那行先忽略),要求要驗證碼

接著在 URL 上輸入 ```/my-account``` 就登入了


簡單來說就是這樣 (來源:https://portswigger.net/web-security/authentication/multi-factor)

### Lab: Password reset broken logic --2023/05/02
要透過重設密碼來繞過驗證,登入 Carlos 的帳號

點擊 "forget password" 然後輸入 "wiener"

然後她會告訴你,去檢查你的 email 來重設密碼

送出前記得先打開 burpsuite 來抓包

抓到長這樣

將 POST 欄位中 ```temp-forgot-password-token=``` 後面的 token 刪除,最下面的 ```temp-forgot-password-token=``` 也刪掉,以及 username 改成這樣 ```username=carlos```,改完就能送出

回到 login,輸入 carlos 和重設的 passwd 就能登入啦
