# WebSockets Lab3 本題一樣要我們觸發 support agent 的瀏覽器執行 alert(1),所以先進入網址。  輸入訊息。  本題字串一樣會被更改,所以用老方法試試看。   被擋下來了,6。 既然他有嚴格的封鎖機制,那就透過 X-Forwarded-For 偽造 IP 重新連線。 :::info ### 為什麼用 X-Forwarded-For 可以偽造 IP 並重新連線? 伺服器是根據 X-Forwarded-For header 來判斷使用者 IP,而不是直接看 TCP 連線的來源 IP。 ### 什麼是 X-Forwarded-For? 它是個 HTTP header,設計用來讓**反向代理伺服器**(如 Nginx、CDN、Load Balancer)傳遞使用者的**原始 IP**。 ``` X-Forwarded-For: 203.0.113.42 ``` 伺服器收到這個,就會以為你是從 203.0.113.42 來的。 ### 重點小結 為什麼原本被 ban? -> 發惡意 payload,被偵測到後,伺服器根據 IP 把你封鎖了。 為何改 X-Forwarded-For 有效? -> 伺服器只看 header 判定你是誰,不是實際 IP。 有什麼問題? -> 伺服器沒驗證 header 的真實性,任何人都能偽造。 ### 簡單來說 你被夜市保全趕出去,他是根據你戴的帽子認你的臉。 你只要換頂帽子(X-Forwarded-For: 新 IP),保全就不認得你,讓你重新進場繼續吵架(送 payload)。 ::: 所以加上我們的新IP再送出一次,並且用混淆自元來逃過他的判定(不然會被鎖第二次)。  ``` <img src=1 oNeRrOr=alert`1`> ```   ### ALL Lab -> [write up](https://hackmd.io/@mio0813/S1PWgVaRyg) ---
×
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