我正在使用一個網站系統,其中會話和記憶 cookie 被標記為 Secure 和 HttpOnly。現在由于各種原因,我需要訪問會話并記住 JavaScript 中的 cookie(帶有子域的 WebSocket 身份驗證)。關于安全性,關閉兩個 cookie 的“HttpOnly”標志是否合理?
我知道這為 XSS 攻擊獲取這些 cookie 打開了大門。但是,如果我保證不可能有 XSS,你認為可以嗎?
問候馬文
uj5u.com熱心網友回復:
雖然 httpOnly 的主要原因是 XSS,但沒有此標志的 cookie 存在風險。
最明顯的風險是您的應用程式不受 XSS 攻擊的說法聽起來有點過于樂觀。如果你有一個很好的理由來假設,那很好,但我認為的一個原因是頁面是否都是靜態的(但為什么它會設定 cookie)。接受這一點的另一個原因可能是 XSS 是否是一種可接受的風險,例如,應用程式位于一個因某些充分理由無關緊要的來源上。但這些都應該考慮周全,并且可能包含在一個相當詳細的威脅模型中。任何測驗或掃描(對我來說)都是不夠的,如果 XSS 真的讓我擔心的話,我也不能出于各種原因接受應用程式代碼中的任何緩解措施。就像現在它可能真的沒有可利用的 XSS。明天怎么樣?在 5 年內,經過 30 個不同的人改變了它..?
此外,httpOnly 不僅針對經典意義上的 XSS。例如,您可能正在使用 3rd 方組件,javascript 不是由您控制,而是由您的應用程式加載。通過擁有 httpOnly cookie,這些客戶端組件也將無法訪問 cookie,但如果沒有 httpOnly,它們將無法訪問。你就這么信任他們嗎?也許你不應該——或者也許沒關系,這完全取決于你如何模擬威脅以及你愿意接受什么。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/450845.html
