# Business logic vulnerabilities Lab10 本題是無限金錢邏輯漏洞,透過流程設計不良的「購物 + 折扣券 + 禮物卡」邏輯,製造無限金錢,買下昂貴的「Lightweight l33t leather jacket」。 登入帳號:`wiener:peter` 一樣登入帳號,這裡有禮物卡,主頁的下方也可以透過辦 email 拿折扣碼。 ![image](https://hackmd.io/_uploads/SJpFmInwee.png) ![image](https://hackmd.io/_uploads/BklJEIhPex.png) 因此我們可以用折扣來買到 7 塊的小卡,等於我們買一次卡就賺 3 塊,所以透過這點,我們重複個幾百次就可以買到商品了,這裡可以用 Macro + Intrude。 我們一樣先設定 Macro,選擇流程相關的五個請求。 ``` POST /cart ← 加入 gift card POST /cart/coupon ← 套用 SIGNUP30 折扣 POST /cart/checkout ← 結帳 GET /cart/order-confirmation ← 拿到 gift card 代碼 POST /gift-card ← 兌換 gift card ``` ![image](https://hackmd.io/_uploads/HJ0I8L3wxx.png) 接著抽取 gift card 代碼(Macro 核心): - 選請求 `GET /cart/order-confirmation` - 點「Configure item」→ Add → 命名參數 gift-card - 在 Response 裡用滑鼠選中出現的 gift card 代碼 → OK - 選請求 `POST /gift-card` - 點「Configure item」 - 設定該 request 的 gift-card 參數來自 response #4 的提取 這樣做的原因是購買 gift card,並拿到代碼(出現在 response) 去自動把這代碼塞進下一個 request 做兌換,最後重複上面流程。 ![image](https://hackmd.io/_uploads/HJX2vInPlx.png) ![image](https://hackmd.io/_uploads/By3luL2vee.png) 接著拿去爆破,讓他自動重複 415 次左右。 ![image](https://hackmd.io/_uploads/B1e0u83wex.png) 現在我們有錢可以買了。 ![image](https://hackmd.io/_uploads/HkOlcIhvge.png) ![image](https://hackmd.io/_uploads/BJH-5LhPeg.png) ---