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