# Authentication Lab9 這題「代幣型認證機制可預測導致暴力破解」,透過暴力破解 Carlos 的 stay-logged-in cookie,存取他的帳號頁面。 一樣先進入網站登入帳密請求封包。 ![image](https://hackmd.io/_uploads/HkkXYJPvlx.png) 不過在登入之前有個 Stay logged in,這裡我們先打勾起來,看看和以往的登入封包有甚麼不同。 ![image](https://hackmd.io/_uploads/HkiDtkPPlx.png) ![image](https://hackmd.io/_uploads/SJAKFJwPle.png) 可以發現他多了一行 Cookie,但不知道那是啥鬼,感覺可以試試看解碼? b64 encode: ``` d2llbmVyOjUxZGMzMGRkYzQ3M2Q0M2E2MDExZTllYmJhNmNhNzc ``` b64 decode: ``` wiener:51dc30ddc473d43a6011e9ebba6ca77 ``` 發現規律是: ``` base64(username + ':' + md5(password)) ``` 這裡我們可以推測另一位使用者的規律也是如此,目前我們只知道帳號但不知道密碼,所以可以用 Burp Intruder 暴力產生 cookie 並測試。 ![image](https://hackmd.io/_uploads/BJYBi1wwxl.png) 一樣先選取爆破位置(這裡 session 要拔掉,不然會有一個保持登入狀態的 Cookie 在這裡卡位),而導入爆破清單要對清單作 MD5 調整。 ![image](https://hackmd.io/_uploads/HJb_3ywwll.png) 並且要對我們的爆破格是做預設調整。 ![image](https://hackmd.io/_uploads/HylChyPvge.png) 最後在 b64 encode。 ![image](https://hackmd.io/_uploads/B1xQT1DPel.png) 這樣調整後,我們會對密碼做 MD5 處理,之後加上 carlos: 前綴,並在最後對整個字串做 b64 encode。 最後會出現一個唯一 200 狀態碼的結果,同時我們 Lab 也自動完成。 ![image](https://hackmd.io/_uploads/H1VpJlwDel.png) ![image](https://hackmd.io/_uploads/rk81geDwel.png) ---