XSSI被稱為跨站腳本包含攻擊,通常在開發過程中對數據的臨時存儲,存儲在動態javascript文件中,方便全局對數據的調用。攻擊者會嘗試將腳本標簽加載到指向不同來源的頁面,但攻擊者卻無法訪問該頁面的話,那么攻擊者可以誘騙經過身份驗證的用戶訪問處于攻擊者控制之下的頁面,從而間接發動注入攻擊,然后將結果跨域泄漏給攻擊者的JavaScript代碼。
防御XSSI攻擊的必要條件有:
如果網站返回“X-Content-Type-Options:nosniff”HTTP頭部的話,那么該攻擊就會偃旗息鼓了。所以,最簡單的防御措施,就是讓它返回這個頭部。服務器可以通過nosniff頭部告訴瀏覽器,“當我說將給你<Content-Type>時,就意味著這是真的<Content-Type>!”。
腳本標簽只能用于GET請求。因此,如果端點只接受POST請求,則此攻擊就無能為力了。這個要求看似簡單,但務必要小心。您可能已經設計了只接收POST請求的API,但您的內容管理系統也許仍然可以接收GET請求。
如果端點始終返回200,那么也就無法從狀態碼中竊取信息了。但是,狀態碼的存在,不要僅僅為了阻止這種攻擊而簡單粗暴地廢棄了HTTP協議的核心部分。請改用nosniff頭部來阻止該攻擊。
如果攻擊者能夠在自己的瀏覽器中加載私密信息,那么他就不需要這種攻擊了。該攻擊主要是設法讓用戶訪問攻擊者的域,然后以用戶在其他域的權限來獲取更多信息,這通常要求用戶已經經過了相應的認證。除此之外,如果您的家庭路由器有此漏洞,那么惡意公共站點可以通過它請求腳本,從而導致信息泄漏。
回答所涉及的環境:聯想天逸510S、Windows 10。
XSSI被稱為跨站腳本包含攻擊,通常在開發過程中對數據的臨時存儲,存儲在動態javascript文件中,方便全局對數據的調用。攻擊者會嘗試將腳本標簽加載到指向不同來源的頁面,但攻擊者卻無法訪問該頁面的話,那么攻擊者可以誘騙經過身份驗證的用戶訪問處于攻擊者控制之下的頁面,從而間接發動注入攻擊,然后將結果跨域泄漏給攻擊者的JavaScript代碼。
防御XSSI攻擊的必要條件有:
如果網站返回“X-Content-Type-Options:nosniff”HTTP頭部的話,那么該攻擊就會偃旗息鼓了。所以,最簡單的防御措施,就是讓它返回這個頭部。服務器可以通過nosniff頭部告訴瀏覽器,“當我說將給你<Content-Type>時,就意味著這是真的<Content-Type>!”。
腳本標簽只能用于GET請求。因此,如果端點只接受POST請求,則此攻擊就無能為力了。這個要求看似簡單,但務必要小心。您可能已經設計了只接收POST請求的API,但您的內容管理系統也許仍然可以接收GET請求。
如果端點始終返回200,那么也就無法從狀態碼中竊取信息了。但是,狀態碼的存在,不要僅僅為了阻止這種攻擊而簡單粗暴地廢棄了HTTP協議的核心部分。請改用nosniff頭部來阻止該攻擊。
如果攻擊者能夠在自己的瀏覽器中加載私密信息,那么他就不需要這種攻擊了。該攻擊主要是設法讓用戶訪問攻擊者的域,然后以用戶在其他域的權限來獲取更多信息,這通常要求用戶已經經過了相應的認證。除此之外,如果您的家庭路由器有此漏洞,那么惡意公共站點可以通過它請求腳本,從而導致信息泄漏。
回答所涉及的環境:聯想天逸510S、Windows 10。