Cross-Frame Scripting Attack簡稱CFS攻擊,是一種利用瀏覽器允許框架(frame)跨站包含其它頁面的漏洞,在主框架的代碼中加入scirpt,監視、盜取用戶輸入。攻擊者可以利用iframe的方式包含你的網頁,采用欺騙的方式,引導用戶過來點擊,利用監聽盜取用戶輸入信息或者是利用樣式控制或者騙取用戶點擊某個特定的區域,而達到獲取劫持的目的。
針對此類型的攻擊防御手段有以下這些:
增加Token驗證:對關鍵操作增加Token參數,token必須隨機,每次都不一樣;
關于安全的會話管理,避免會話被利用:不要在客戶端保存敏感信息,比如身份驗證信息。退出、關閉瀏覽器時的會話過期機制,設置會話過機制,比如15分鐘無操作,則自動登錄超時;
訪問控制安全管理:敏感信息的修改時需要身份進行二次認證,比如修改賬號密碼,需要判斷舊密碼。建議敏感信息的修改使用POST,而不是GET,建議通過HTTP頭部中的REFERER來限制原頁面;
增加驗證碼:一般在登錄主要防暴力破解,也可以用在其他重要信息操作的表單中,但是需要考慮可用性;
驗證HTTP Referer字段:HTTP頭中的Referer字段記錄了該HTTP請求的來源地址。在通常情況下,訪問一個安全受限頁面的請求來自于同一個網站,而如果黑客要對其實施CSRF攻擊,他一般只能在他自己的網站構造請求。因此,可以通過驗證Referer值來防御CSRF攻擊。
在HTTP頭中自定義屬性并驗證:這種方法也是使用token并進行驗證,這里并不是把token以參數的形式置于HTTP請求中,而是把它放到HTTP頭中自定義的屬性里。通過XMLHttpRequest這個類,可以一次性給所有該類請求加上csrftoken這個HTTP頭屬性,并把token值放入其中。通過XMLHttpRequest請求的地址不會被記錄到瀏覽器的地址欄,也不用擔心token會透過Referer泄露到其他網站中去。
回答所涉及的環境:聯想天逸510S、Windows 10。
Cross-Frame Scripting Attack簡稱CFS攻擊,是一種利用瀏覽器允許框架(frame)跨站包含其它頁面的漏洞,在主框架的代碼中加入scirpt,監視、盜取用戶輸入。攻擊者可以利用iframe的方式包含你的網頁,采用欺騙的方式,引導用戶過來點擊,利用監聽盜取用戶輸入信息或者是利用樣式控制或者騙取用戶點擊某個特定的區域,而達到獲取劫持的目的。
針對此類型的攻擊防御手段有以下這些:
增加Token驗證:對關鍵操作增加Token參數,token必須隨機,每次都不一樣;
關于安全的會話管理,避免會話被利用:不要在客戶端保存敏感信息,比如身份驗證信息。退出、關閉瀏覽器時的會話過期機制,設置會話過機制,比如15分鐘無操作,則自動登錄超時;
訪問控制安全管理:敏感信息的修改時需要身份進行二次認證,比如修改賬號密碼,需要判斷舊密碼。建議敏感信息的修改使用POST,而不是GET,建議通過HTTP頭部中的REFERER來限制原頁面;
增加驗證碼:一般在登錄主要防暴力破解,也可以用在其他重要信息操作的表單中,但是需要考慮可用性;
驗證HTTP Referer字段:HTTP頭中的Referer字段記錄了該HTTP請求的來源地址。在通常情況下,訪問一個安全受限頁面的請求來自于同一個網站,而如果黑客要對其實施CSRF攻擊,他一般只能在他自己的網站構造請求。因此,可以通過驗證Referer值來防御CSRF攻擊。
在HTTP頭中自定義屬性并驗證:這種方法也是使用token并進行驗證,這里并不是把token以參數的形式置于HTTP請求中,而是把它放到HTTP頭中自定義的屬性里。通過XMLHttpRequest這個類,可以一次性給所有該類請求加上csrftoken這個HTTP頭屬性,并把token值放入其中。通過XMLHttpRequest請求的地址不會被記錄到瀏覽器的地址欄,也不用擔心token會透過Referer泄露到其他網站中去。
回答所涉及的環境:聯想天逸510S、Windows 10。