# HTTP request smuggling Lab8
本題前端支援 HTTP/2,但內部還是會 降級轉送為 HTTP/1 給後端,管理員每 15 秒會登入一次,後端連線每 10 個 request 會重置一次(失敗就多發幾次即可)。
一樣先進入網站並攔截請求。

這裡我們首先可以嘗試使用 HTTP/2 + chunked 傳送一個 request,造成 response queue 被污染,只是還不確定能不能這麼做,所以先驗證是否可以成功 poison queue。

通過測試會發現過每兩次請求就會出現一次 404,這表示 smuggling 成功,下一個人的 request 被連在後面處理。
接著來實作一個真正有用的 response queue poison 請求。

- 0 是 chunked 的結尾(代表第一個 request 結束)。
- 後面就是 smuggle 的 HTTP/1 請求。
- 故意用不存在的路徑 `/usagi`,讓我們自己每次都拿到 404,而不是其他干擾的 response。
再來就是等 admin 上線去撿他的 response。
- 每次送一次 Poison 請求後,等個 5 秒。
- 然後重送一次同樣的請求,這次會拿到:
- 如果拿到 200/302 → 可能是 admin 的 response。
- 如果拿到 Set-Cookie → BINGO!抓到 admin 的 session cookie。

```
ipocyND9hLCstQoQyM9DSE6fCZK517VL
```

改完 session 確實到 admin 帳號裡面了,再去刪除目標資料來完成 Lab。


---