在雲服務當道的時代,每個 API 呼叫都會經由許多 proxy 轉傳,最後才到達真正提供服務的目標上,而在轉傳過程中,服務要如何得知原始 client 的 IP/Host 呢?這就會利用很多人都聽過卻不熟悉的幾個 header 來完成,ex: X-Forwarded-Host / For。
本次的演講中,我會詳述各個 X-Forwarded-XXX 的意義及目的,接著以真實案例講解 Forwarded-For 的錯誤設定,如何導致駭客 bypass 該產品的 IP 黑名單阻擋,甚至讓其他使用者 IP 被列入黑名單的攻擊手法。
最後,以本人在 Slack 上發現的漏洞,跟大家分享駭客如何利用 X-Forwarded-Host 的設定錯誤達成 Blind SSRF 的攻擊。相信會讓大家對於 X-Forwarded-XXX 的資安意識更加重視。
十年資歷的軟體工程師,同時擁有駭客的靈魂,目前名字被列在 Google BugHunter Hall of Fame (find "Hsiao-Yung Chen" in https://bughunter.withgoogle.com/rank/hof/12), Facebook WhiteHat Thanks (find "Hsiao-Yung Chen" in https://www.facebook.com/whitehat/thanks), 以及Slack, Twitter...的Thanks page