# 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 ``` 最後拿去登入。   ---
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up