摘要:參考文獻白帽子講安全亞馬遜購買地址鏈接前言瀏覽器作為客戶端,也是我們用戶上網的直接入口,所以瀏覽器的安全就是用戶安全的第一道屏障。同源策略同源策略是瀏覽器最核心最基本的安全功能。不同源的客戶端腳本在沒明確授權的情況下,不能讀寫對方的資源。
參考文獻:白帽子講Web安全 (亞馬遜購買地址:鏈接)
前言瀏覽器作為客戶端,也是我們用戶上網的直接入口,所以瀏覽器的安全就是用戶安全的第一道屏障。
同源策略同源策略是瀏覽器最核心最基本的安全功能。它限制了來自不同源的“document”或腳本,對當前“document”讀取或者設置某些屬性。所謂同源是指host(域名或者ip地址)、子域名、端口和協議相同。不同源的客戶端腳本(javascript、ActionScript)在沒明確授權的情況下,不能讀寫對方的資源。
但需要注意的是,對于當前頁面來說,頁面存放js文件的域并不重要,重要的是加載js的頁面所在域是什么。例如:在a.com的頁面下通過獲取了b.com域中的資源,但是由于b.js是運行在a.com的頁面中,因此對于當前頁面來講,b.js的域就是a.com。
在瀏覽器中,、,然后攻擊者誘使目標用戶也就是小白同學訪問這個頁面,他看到一張無法顯示的圖片,但是在這這圖片的背后是csrf攻擊的巨大陰謀。
-----栗子吃完了-----
面對csrf攻擊,用戶真的是防不勝防,那么作為網站建設者有什么方法可以防御這種攻擊呢呢。下面列幾種比較常用的方法。
驗證碼
驗證碼被認為是對抗csrf攻擊最簡潔有效的防御方法。csrf攻擊往往是在用戶不知情的情況下構造了網絡請求,而驗證碼則是強制用戶與應用進行交互來完成最終的請求。但是出于對用戶體驗的考慮,網站不會在所有的操作上都加上驗證碼,所以這只能作為一種輔助手段,而不是最終的解決方案。
referer check
referer是http請求header中的一個參數,允許客戶端指定請求url的源資源地址。所以referer check可以用于檢查請求是否來自合法的“源”。常見的互聯網應用,頁面與頁面之間都具有一定的邏輯關系,這使得每個正常清請求的referer都具有一定的規律。舉個栗子,比如進行發表博客的操作,在提交發表博客的表單時,referer的值必然是編輯博客所載的頁面,如果不是這個頁面甚至不是這個網站的域那么極有可能是csrf攻擊。這種防御手段的缺陷在于,服務器不是任何時候都能取得referer,所以這只能作為一種監控手段而無法作為主要的防御手段。
Anti CSRF Token
現在業界針對csrf防御的一致做法是使用token。csrf能夠成功的本質原因是攻擊者可以猜出請求中的所有參數和參數值,所以才能成功地構造一個偽造的請求。所以直觀的解決方案是:把參數加密,或者使用一些隨機數從而讓攻擊者無法猜測到參數值,目前業界通用的方案就是使用AntiCSRFToken。那么針對我們開頭所說的那個栗子?,保持原有參數不變,新增一個參數token,這個token的值是隨機的,不可預測:http://blog.balabala.com/manager/entry.do?m=delete&id=12345&token=[random(seed)] 。在實際應用中,token同時放在表單和session(或者cookie)中,在提交請求的時候服務器只需要驗證表單中的token和用戶session(或者cookie)中的token是否一致從而判斷這個請求是否合法。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/11192.html
摘要:綜上,對稱加密安全性低,若要稍微提高點安全性,就會提升程序復雜度。對于它的缺點數據內容泄露,其實在傳輸過程中不泄露,保存在本地同樣會泄露,若對此在意,可以對腳本文件再加一層簡單的對稱加密。 使用 JSPatch 有兩個安全問題: 傳輸安全:JS 腳本可以調用任意 OC 方法,權限非常大,若被中間人攻擊替換代碼,會造成較大的危害。 執行安全:下發的 JS 腳本靈活度大,相當于一次小型更...
摘要:我把這個領域的東西寫成了一個系列,以后還會繼續完善下去安全一同源策略與跨域安全二攻擊安全三攻擊 上文說完了CSRF攻擊,本文繼續研究它的兄弟XSS攻擊。 什么是XSS攻擊 XSS攻擊全名(Cross-Site-Script)跨域腳本攻擊,為了跟CSS(Cascading-Style-Sheet)區分開來,所以縮寫是XSS。 XSS攻擊的原理 上一節說道的CSRF攻擊是利用的是偽請求,這...
摘要:我把這個領域的東西寫成了一個系列,以后還會繼續完善下去安全一同源策略與跨域安全二攻擊安全三攻擊 上文說完了CSRF攻擊,本文繼續研究它的兄弟XSS攻擊。 什么是XSS攻擊 XSS攻擊全名(Cross-Site-Script)跨域腳本攻擊,為了跟CSS(Cascading-Style-Sheet)區分開來,所以縮寫是XSS。 XSS攻擊的原理 上一節說道的CSRF攻擊是利用的是偽請求,這...
閱讀 363·2024-11-06 13:38
閱讀 738·2024-09-10 13:19
閱讀 866·2024-08-22 19:45
閱讀 1363·2021-11-19 09:40
閱讀 2598·2021-11-18 13:14
閱讀 4266·2021-10-09 10:02
閱讀 2285·2021-08-21 14:12
閱讀 1268·2019-08-30 15:54