# HTTP request smuggling Lab6
本題有前端+後端伺服器,前端不支援 chunked encoding,要 Smuggle 一個請求進後端,使得後面的使用者請求內容「被儲存」起來(例如出現在留言區),然後再用留言介面撈出「其他用戶的 Cookie」,進而登入他們帳號。
重點:
- Smuggle 一個留言請求,誘使後端把下一個使用者的 request 當作留言一起存起來。
- 回到原本的文章頁面,看留言,有沒有出現其他使用者的 request。
- 若有 Cookie header,撿起來用來登入他帳號。
所以一樣先進入網站。

接著隨便到一篇文章底下留言並攔截請求。


所以一樣寫 chunk 內容,不過在這次的 Content-Length 設定中,我們刻意將值範圍變大。

Cookie 跟 csrf 的值一樣要保留,預防系統要我們登入。
:::info
### 為什麼 Content-Length 多設?
這是要告訴後端:我要送出 600 bytes 的 request body。
但實際上你的 body 沒那麼長,只有大概 140~150 bytes。
這樣的設計是刻意的,目的是讓後端「認為」接下來用戶的請求還是你的 request body 的一部分。
導致後端覺得:「這包留言還沒送完,下一個使用者的請求應該就是他的延續,我照單全收。」
然後他就把別人整包 Cookie、路徑、資料 全部當留言存下來。
:::
最後送出:

這裡會發現 600 還不夠。

因此我在請求中嘗試直接衝 800~900,然後他要嘛不夠,不然就是沒抓到:),所以大概 30-40 次後,在 940 試出來了(ಥ_ಥ)。


```
clByhhLG9eOqGmRCVYOCTNebIHoLmApM
```
最後拿去登入。


---